2013-05-15 1 views
3

앱 스토어에 출시하기 전에 앱 개발 과정을 마쳤습니다. 여러 번 테스트를 거쳤습니다 (IOS 버전 6.0.1에서 Adhoc 테스트). Adhoc 테스트를 수행하는 동안 빌드와 관련된 문제점을 발견하지 못했습니다. 모든 것이 잘 작동했습니다. 앱 스토어에 제출 한 후 애플 팀에서 IOS 버전 6.1.3을 사용하는 iphone 5에서 응용 프로그램이 충돌하고 있다는 보고서를 받았습니다. 그래서 iphone을 6.1.3으로 업데이트했습니다. 최신 버전으로 업데이트 한 후 testflight에 빌드를 업로드하고 거기에서 앱을 다운로드했습니다. 그것은 부서지고 있었다. 나는 전화에서 응용 프로그램을 제거하고 직접 시스템에 연결하고 코드 변경없이 xcode를 통해 직접 설치했습니다. 앱이 정상적으로 작동하기 시작했습니다. 나는 추락하는 이유와 혼동한다. xcode를 통해 직접 설치하면 동일한 코드가 제대로 작동하기 때문에 코드에 문제가 없다는 것이 확실합니다. whats 차이점 testflight를 통해 직접 xcode에서 앱을 설치하고 있습니까? 무엇이 문제일까요? 나는 충돌 로그를 상징하고 코드에 아무런 이상이 없음을 발견했다. 비슷한 종류의 문제에 직면 한 사람이 있습니까? plz가 나를 도와 줘서 고쳤다면. 당신의 도움은 매우 존경 받는다. 감사합니다 은 아래에 '디버그'구성 (이 빌드 방식에 설정된 어떻게에도 달려있다)를 사용합니다 엑스 코드를 통해 직접 응용 프로그램을 설치 내 충돌 로그아이폰 앱이 앱 스토어 또는 testflight에서 다운로드되면 충돌이 발생합니다.

Version:   ??? (???) 
Code Type:  `enter code here`ARM (Native) 
Parent Process: launchd `enter code here`[1] 
Date/Time:  2013-05-07 10:19:43.206 -0700 
OS Version:  iOS 6.1.4 (10B350) 
Report Version: 104 
Exception Type: EXC_BAD_ACCESS (SIGSEGV) 
Exception Codes: KERN_INVALID_ADDRESS at 0x43462d40 
Crashed Thread: 0 
Thread 0 name: Dispatch queue: com.apple.main-thread 
Thread 0 Crashed: 
0 libobjc.A.dylib     0x3bc905d0 objc_msgSend + 16 
1 Foundation      0x348031dc _NSDescriptionWithLocaleFunc + 48 
2 CoreFoundation     0x33f7b42e __CFStringAppendFormatCore + 11158 
3 CoreFoundation     0x33ef289e _CFStringCreateWithFormatAndArgumentsAux +   

4 Foundation      0x34802cf8 +[NSString stringWithFormat:] + 56 
5 Nuedoo       0x0002f8a2 -[VCache updateWithXML:] (VCache.m:122) 
6 Nuedoo       0x0003f00a -[VParser parseXMLFile:] (VParser.m:80) 
7 Nuedoo       0x0002ecda -[VBrowser open:] (VBrowser.m:23) 
8 Nuedoo       0x0002d6e8 -[Vaayoo_FrameworkAppDelegate:] (Vaayoo_FrameworkAppDelegate.m:57) 
9 UIKit       0x35e09a9c -[UIApplication _handleDelegateCallbacksWithOptions:isSuspended:restoreState:] + 248 
10 UIKit       0x35e09620 -[UIApplication _callInitializationDelegatesForURL:payload:suspended:] + 1164 
11 UIKit       0x35e0182e -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 694 
12 UIKit       0x35da9d1a -[UIApplication handleEvent:withNewEvent:] + 1006 
13 UIKit       0x35da97a8 -[UIApplication sendEvent:] + 68 
14 UIKit       0x35da91ea _UIApplicationHandleEvent + 6194 
15 GraphicsServices    0x37ac15f4 _PurpleEventCallback + 588 
16 GraphicsServices    0x37ac1222 PurpleEventCallback + 30 
17 CoreFoundation     0x33f6f3e4 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 32 
18 CoreFoundation     0x33f6f386 __CFRunLoopDoSource1 + 134 
19 CoreFoundation     0x33f6e20a __CFRunLoopRun + 1378 
20 CoreFoundation     0x33ee1238 CFRunLoopRunSpecific + 352 
21 CoreFoundation     0x33ee10c4 CFRunLoopRunInMode + 100 
22 UIKit       0x35e00468 -[UIApplication _run] + 664 
23 UIKit       0x35dfd2b4 UIApplicationMain + 1116 
24 Nuedoo       0x00056efa main (main.m:14) 
25 Nuedoo       0x0002ce84 start + 36 
Thread 1: 
0 libsystem_kernel.dylib   0x3c189d98 __workq_kernreturn + 8 
1 libsystem_c.dylib    0x3c0d7ad6 _pthread_workq_return + 14 
2 libsystem_c.dylib    0x3c0d77f2 _pthread_wqthread + 362 
3 libsystem_c.dylib    0x3c0d7680 start_wqthread + 4 

Thread 2 name: Dispatch queue: com.apple.libdispatch-manager 
Thread 2: 
0 libsystem_kernel.dylib   0x3c1795d0 kevent64 + 24 
1 libdispatch.dylib    0x3c0b4d22 _dispatch_mgr_invoke + 806 
2 libdispatch.dylib    0x3c0b0374 _dispatch_mgr_thread + 32 

Thread 3: 
0 libsystem_kernel.dylib   0x3c189d98 __workq_kernreturn + 8 
1 libsystem_c.dylib    0x3c0d7ad6 _pthread_workq_return + 14 
2 libsystem_c.dylib    0x3c0d77f2 _pthread_wqthread + 362 
3 libsystem_c.dylib    0x3c0d7680 start_wqthread + 4 

Thread 4 name: WebThread 
Thread 4: 
0 libsystem_kernel.dylib   0x3c178e30 mach_msg_trap + 20 
1 libsystem_kernel.dylib   0x3c178fd0 mach_msg + 48 
2 CoreFoundation     0x33f6f2b6 __CFRunLoopServiceMachPort + 126 
3 CoreFoundation     0x33f6e02c __CFRunLoopRun + 900 
4 CoreFoundation     0x33ee1238 CFRunLoopRunSpecific + 352 
5 CoreFoundation     0x33ee10c4 CFRunLoopRunInMode + 100 
6 WebCore       0x39ee9390 RunWebThread(void*) + 440 
7 libsystem_c.dylib    0x3c0e20de _pthread_start + 306 
8 libsystem_c.dylib    0x3c0e1fa4 thread_start + 4 

Thread 0 crashed with ARM Thread State (32-bit): 
r0: 0x1f5c0ab0 r1: 0x39a512ae  r2: 0x34004b3a  r3: 0xffffffff 
r4: 0x43462d38 r5: 0x00000000  r6: 0x34004b3a  r7: 0x2fdd3178 
r8: 0x2fdd367c r9: 0x0e6944ab  r10: 0x3c307c20  r11: 0x1f5c0ca0 
ip: 0x3c3b8704 sp: 0x2fdd3164  lr: 0x348031e1  pc: 0x3bc905d0 
    cpsr: 0x20000030 
</string> 
<key>displayName</key> 
<string>Nuedoo</string> 
<key>name</key> 
<string>Nuedoo</string> 
<key>os_version</key> 
<string>iPhone OS 6.1.4 (10B350)</string> 
<key>system_ID</key> 
<string></string> 
<key>version</key> 
<string>??? (???)</string> 
</dict> 
</plist> 
+1

문제에 대해 더 나은 아이디어를 줄 수있는 충돌 로그를 게시 :

여기 좋은 튜토리얼입니다. – Amar

+0

새 빌드를 만들어 Testflight에 업로드 한 다음 다시 다운로드하고 무슨 일이 일어 났는지 알려주고 가능한 경우 충돌 로그를 제공하십시오 – iEinstein

+0

충돌 로그를 추가했습니다. 나는 크래시 로그가 제공 한 코드 문으로 어떤 것이 잘못되었다는 것을 발견했다. – RockandRoll

답변

11

입니다. 먼저 보관하면 Adhoc/Release 구성을 사용하게됩니다.

Edit schemes Edit scheme

구성은 시간을 구축/컴파일하는 동안 검색 경로, 상수, 전처리 매크로와 사용되는 다른 것들 다를 수 있습니다.

xcode에서 직접 빌드 할 때 제대로 작동하기 때문에 실행 빌드 구성 ('디버그')과 '아카이브'빌드 구성 (위 이미지에서 'Adhoc') 간의 차이점을 살펴볼 수 있습니다.

, 당신의 구성의 차이를 보려면 앱 대상을 선택하고 또한 사용하기 위해 '실행'단계를 설정할 수 있습니다 enter image description here

(설정 탭을 빌드 내부) <Multiple values>와 필드를 검색하려면 ' (당신의 장치를 받아들이는 정확한 프로비저닝으로) 설정을 해제하십시오.이 경우 xcode에 연결될 때 예외를 잡을 수 있어야합니다. (그리고 아마도 중단 점을 사용하여 무엇이 발생하는지 더 잘 볼 수 있습니다).

+0

안녕하세요 알렉스, 귀하의 정보 덕분에, 나는 몇 가지 시행 착오를 끝냈다. 그리고 여기에 내가 시도한 시나리오입니다 1) 아카이브에서 구성을 릴리스로 설정하고 결과가 응용 프로그램이 충돌 2) 아카이브에서 디버그 구성으로 설정, 결과는 앱이 기기에서 정상적으로 실행되고 있다는 것입니다. – RockandRoll

+0

좋습니다. 중단 점에서 예외를 조사 할 수 있도록 '실행'단계의 릴리스 구성을 설정해보십시오 (로그에서 메모리 문제 인 것처럼 보임). 그 원인을 찾을 수 없다면, 'Prefix header', 'Other C Flags', 'Other C++ Flags'및 'Preprocessor Macros'를보고 시작해서 Release와 Debug 구성의 차이점을 확인하십시오. –

+0

아주 좋은 디버깅 기술. 내 브레이크 포인트가 맞지 않았지만 장치 로그에서 충돌을 확인할 수있었습니다. 필자의 경우 Main.storyboard는 iOS 8에서 디버그 용으로는 분명히 괜찮 았지만 릴리스 용으로는 삭제되지 않았습니다. 나는 이유를 모른다. 일단 Main.storyboard를 다시 붙이면 앱이 멈추게되었습니다. – etayluz

0

KERN_INVALID_ADDRESS는 나쁜 캐스트 또는 좀비 개체입니다. 나쁜 캐스트 인 경우 디버그와 릴리스에서 충돌해야합니다. 디버거는 일부 메모리 오류를 숨길 수 있습니다. 좋은 소식은 릴리스 빌드에서 반복되는 충돌입니다. Zombie Instrument를 사용하여 Instruments 에서 앱을 프로파일 링하면됩니다. http://www.dimzzy.com/blog/2011/02/hunting-down-zombies-in-ios-apps/