2013-05-15 6 views
3

Я закончил процесс разработки приложения, прежде чем отпустить его в хранилище приложений, я провел несколько раундов тестирования (Adhoc-тестирование на версии IOS версии 6.0.1). при выполнении Adhoc-тестирования я не нашел никаких проблем с сборкой. Все работает нормально. После отправки в App Store я получил отчет от команды Apple, заявив, что приложение рушится на iphone 5 с версией IOS 6.1.3. Поэтому я обновил свой iphone до 6.1.3. После обновления до последней версии я загрузил сборку testflight и загрузил приложение из него. он рушился. я удалил приложение с телефона и напрямую подключился к системе и установил прямо через xcode без каких-либо изменений кода. Приложение начало работать нормально. Меня смущает причина развала. Я уверен, что это не проблема с кодом, потому что тот же код работает нормально, если я непосредственно устанавливаю через xcode. Какая разница, как установить приложение через testflight и непосредственно из xcode? В чем может быть проблема? Я символизировал журналы сбоев и не нашел ничего плохого в коде. Неужели кто-то сталкивался с подобной проблемой? если получить фиксированный PLZ помочь мне. ваша помощь очень восхищается. Благодаря ниже мой крах журналаПриложение IPhone сбой при загрузке из магазина приложений или 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

Установка приложения непосредственно через XCode будет использовать конфигурацию «Debug» (зависит от того, как он установлен в вашей схеме сборки). Сначала архивируя его, вы будете использовать конфигурацию Adhoc/Release.

Edit schemes Edit scheme

Конфигурации могут отличаться в путях поиска, констант, макросов препроцессора и другие вещи, используемые во время компиляции/время сборки.

Поскольку он хорошо работает при построении непосредственно из xcode, вы можете посмотреть на различия между конфигурацией сборки запуска («Отладка») и конфигурацией сборки «Архив» («Adhoc» на изображении выше).

Для просмотра разницы между вашими конфигурациями, выберите цель приложения и поиск полей с <Multiple values> (внутри сборки вкладку Настройки) enter image description here

Вы также можете быть в состоянии установить свой шаг «Выполнить», чтобы использовать " Release (с правильной настройкой, которая принимает ваше устройство), и в этом случае вы должны уловить исключение при подключении к xcode (и, возможно, лучше посмотреть, что вызывает его, используя точки останова).

+0

Эй, с помощью вашей информации, я сделал пробную версию и ошибки. И вот сценарий, который я попробовал. 1) Я установил настройку Release в архиве, и в результате получилось, приложение разбилось. 2) Я настроил конфигурацию Debug в Archive, В результате App работал нормально на устройстве. – RockandRoll

+0

Хорошо, попробуйте установить конфигурацию Release для шага «Run», чтобы вы могли исследовать исключение в то время как в точке останова (из журнала это похоже на проблему с памятью). Если вы не можете найти то, что вызывает его, проверьте различия между конфигурациями Release и Debug (я бы начал с рассмотрения «заголовка префикса», «других флагов C», «других флагов C++» и «макросов препроцессора»). –

+0

Очень хорошая техника отладки. Ни один из моих контрольных точек не ударил, но я видел, что в устройстве регистрируются сбои. В моем случае я удалил Main.storyboard, который, по-видимому, нормально в iOS 8 для отладки, но НЕ для выпуска. Понятия не имею почему. Как только я переустановил Main.storyboard - приложение перестало рушиться. – etayluz

0

KERN_INVALID_ADDRESS - эфир плохой гипс или объект зомби. Если это был плохой бросок, он должен упасть и отлаживать, а также выпускать. Отладчик может скрыть некоторые ошибки памяти. Хорошей новостью является то, что авария повторяется в выпуске. Вам просто нужно профилировать свое приложение в Инструментах с помощью инструмента «Зомби».

Вот хороший учебник: http://www.dimzzy.com/blog/2011/02/hunting-down-zombies-in-ios-apps/

Смежные вопросы