Можно создать дубликат:
I get error 0x8badf00d in iPhone app, and is not the usual suspectIOS приложение повышения 0x8badf00d только на некоторых случайных устройств
Это мой первый пост здесь, так что если вы думаете, что я делаю что-то не так, скажите, пожалуйста, D
Прежде всего, я делаю исследования без успеха, и я не могу понять, что происходит.
Я разрабатываю универсальное приложение, и оно хорошо работает на каждом устройстве, которое я использовал для его тестирования (iPhone 3GS, iPhone 4, iPhone 4S, iPad 2 и iPod Touch 4G). Но некоторые клиенты сообщили, что приложение закрывается при запуске (также в разных моделях и версиях iOS, поэтому, похоже, нет общего фактора. Я имею в виду, что приложение не поддается только определенной модели устройства/версии iOS).
Один из них был настолько добр, что он дал мне репортера аварии. Похоже, что это общая проблема 0x8badf00d (мне нужно как-то оптимизировать запуск, чтобы didFinishLaunchingWithOptions возвращался как можно быстрее, я знаю). Перезагрузили устройство, закрыли другие приложения в фоновом режиме/приостановлено, а затем оно сработало. Вот это репортер аварийной ситуации (я не знаю, почему он не был символизирован в той же степени, что и второй репортер аварийной ситуации, опубликованный ниже. Я импортировал его на организаторе Xcode, и у меня есть необходимые файлы для обозначения):
Date/Time: 2012-05-15 00:42:19.074 +0200
OS Version: iPhone OS 5.0.1 (9A405)
Report Version: 104
Exception Type: 00000020
Exception Codes: 0x8badf00d
Highlighted Thread: 0
Application Specific Information:
com.myApp.free failed to resume in time
Elapsed total CPU time (seconds): 2.400 (user 2.400, system 0.000), 12% CPU
Elapsed application CPU time (seconds): 0.073, 0% CPU
Last Exception Backtrace:
0 0x3293a8bf + 848537791
1 0x356021e5 + 895492581
2 0x32883b6b + 847788907
3 myApp 0x0000a82d -[PhoneViewController requestFinished:] (PhoneViewController.m:1679)
4 0x3289922b + 847876651
5 myApp 0x0002a0b1 -[ASIHTTPRequest reportFinished] (ASIHTTPRequest.m:2028)
6 0x3289922b + 847876651
7 0x31fc2757 + 838608727
8 0x3290eb03 + 848358147
9 0x3290e365 + 848356197
10 0x3290d075 + 848351349
11 0x328904dd + 847840477
12 0x328903a5 + 847840165
13 0x335a8fcd + 861573069
14 0x36953743 + 915748675
15 myApp 0x000033af main (main.m:27)
16 myApp 0x00003368 0x1000 + 9064
Thread 0:
0 ??? 0x3465c32c 0 + 879084332
1 ??? 0x35e77fe6 0 + 904364006
2 ??? 0x336cbf66 0 + 862764902
3 ??? 0x336c9348 0 + 862753608
4 ??? 0x356022de 0 + 895492830
5 ??? 0x336c93c0 0 + 862753728
6 ??? 0x336c944c 0 + 862753868
7 ??? 0x336ca820 0 + 862758944
8 ??? 0x35602230 0 + 895492656
9 ??? 0x32890540 0 + 847840576
10 ??? 0x328903a0 0 + 847840160
11 ??? 0x335a8fc8 0 + 861573064
12 ??? 0x3695373e 0 + 915748670
13 myApp 0x000033aa main (main.m:27)
14 myApp 0x00003364 0x1000 + 9060
Позже один из моих товарищей принес iPhone 4, в котором приложение не работает, по-видимому, из-за той же проблемы. Репортер аварии также показал 0x8badf00d, но предыдущее «решение» перезагрузки не сработало. Кроме того, между этими двумя авариями была разница: первая разбилась за несколько секунд, пока появилось изображение всплеска, а второе заняло гораздо больше времени (я сделал несколько попыток, и он оставался медленнее первого). Я подключил iPhone, чтобы узнать, что происходит в консоли Xcode (выложил несколько строк после репортера сбоев). Вот авария репортер ...
Date/Time: 2012-05-15 11:57:30.227 +0200
OS Version: iPhone OS 5.1 (9B176)
Report Version: 104
Exception Type: 00000020
Exception Codes: 0x8badf00d
Highlighted Thread: 0
Application Specific Information:
com.myApp.free failed to launch in time
Elapsed total CPU time (seconds): 12.410 (user 12.410, system 0.000), 63% CPU
Elapsed application CPU time (seconds): 7.302, 37% CPU
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0:
0 libsystem_kernel.dylib 0x35069dcc __open + 8
1 DataDetectorsCore 0x30c8ca60 DDmmap + 8
2 DataDetectorsCore 0x30c860ea DDCacheCreateFromFileAtPathWithExtraChecks + 14
3 DataDetectorsCore 0x30c860b8 DDCacheCreateFromSystemCache + 1252
4 DataDetectorsCore 0x30c85a16 DDScannerCreateWithType + 14
5 DataDetectorsCore 0x30c85aaa DDScannerCreate + 6
6 Foundation 0x3118cac8 -[NSDataDetector initWithTypes:error:] + 960
7 Foundation 0x3118c6ec +[NSDataDetector dataDetectorWithTypes:error:] + 44
8 myApp 0x00004c0c -[PhoneViewController getTelfNumbers] (PhoneViewController.m:213)
9 myApp 0x00007062 -[PhoneViewController viewDidLoad] (PhoneViewController.m:864)
10 UIKit 0x32479e3e -[UIViewController awakeFromNib] + 106
11 UIKit 0x3250c2ec -[UINib instantiateWithOwner:options:] + 1236
12 UIKit 0x3247a4ac -[UIViewController _loadViewFromNibNamed:bundle:] + 240
13 UIKit 0x32357dfa -[UIViewController loadView] + 82
14 UIKit 0x322cddb8 -[UIViewController view] + 44
15 UIKit 0x3232d7de -[UITabBarController transitionFromViewController:toViewController:transition:shouldSetSelected:] + 86
16 UIKit 0x3232d77c -[UITabBarController transitionFromViewController:toViewController:] + 24
17 UIKit 0x3232d0b6 -[UITabBarController _setSelectedViewController:] + 294
18 UIKit 0x3232cdea -[UITabBarController setSelectedIndex:] + 234
19 myApp 0x00003f1e -[AppDelegate application:didFinishLaunchingWithOptions:] (AppDelegate.m:294)
20 UIKit 0x322cce4c -[UIApplication _callInitializationDelegatesForURL:payload:suspended:] + 1176
21 UIKit 0x322c697e -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 402
22 UIKit 0x32294c64 -[UIApplication handleEvent:withNewEvent:] + 1004
23 UIKit 0x32294708 -[UIApplication sendEvent:] + 48
24 UIKit 0x322940dc _UIApplicationHandleEvent + 5820
25 GraphicsServices 0x364c9224 PurpleEventCallback + 876
26 CoreFoundation 0x3524a51c __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 32
27 CoreFoundation 0x3524a4be __CFRunLoopDoSource1 + 134
28 CoreFoundation 0x3524930c __CFRunLoopRun + 1364
29 CoreFoundation 0x351cc49e CFRunLoopRunSpecific + 294
30 CoreFoundation 0x351cc366 CFRunLoopRunInMode + 98
31 UIKit 0x322c5a0c -[UIApplication _run] + 544
32 UIKit 0x322c2e76 UIApplicationMain + 1074
33 myApp 0x000033a8 main (main.m:27)
34 myApp 0x00003360 0x1000 + 9056
... а вот линии выброшенные на консоли:
2012-05-16 10:52:26.440 myApp[315:707] DDCache: mmap failed with error 12
2012-05-16 10:52:26.444 myApp[315:707] DataDetectorsCore: mmapping the cache file failed
2012-05-16 10:52:26.466 myApp[315:707] DDCache: mmap failed with error 12
2012-05-16 10:52:26.470 myApp[315:707] DataDetectorsCore: mmapping the cache file failed
2012-05-16 10:52:26.485 myApp[315:707] DDCache: mmap failed with error 12
2012-05-16 10:52:26.490 myApp[315:707] DataDetectorsCore: mmapping the cache file failed
2012-05-16 10:52:26.509 myApp[315:707] DDCache: mmap failed with error 12
2012-05-16 10:52:26.514 myApp[315:707] DataDetectorsCore: mmapping the cache file failed
2012-05-16 10:52:26.529 myApp[315:707] DDCache: mmap failed with error 12
2012-05-16 10:52:26.533 myApp[315:707] DataDetectorsCore: mmapping the cache file failed
2012-05-16 10:52:26.548 myApp[315:707] DDCache: mmap failed with error 12
[...]
(always the same two lines)
Я не имею ни малейшего понятия о том, что теперь делать. Большая часть устройств запускала приложение без проблем, другая часть устройств имела «еду плохую пищу», которая исчезла после перезагрузки/закрытия некоторых приложений, а некоторые (к настоящему времени клиентское и одно из наших устройств) могут Не запускайте его даже при перезагрузке/закрытии приложений.
Как я уже говорил ранее, похоже, что не относится к конкретному устройству/модели iOS или версии iOS. Что более странно, так это то, что Apple проверила мое приложение, и они не сообщили о сбоях или ошибках. Ну, на самом деле они это сделали, они отклонили первый двоичный файл, который я загрузил, потому что у меня не было Info.plist, поэтому он работал при отладке, но не выполнял его в качестве окончательного приложения. Это было исправлено, но я даю вам знать это на всякий случай.
Любая идея?
Спасибо заранее!
PS: Я не являюсь носителем английского языка, поэтому, если есть что-то странное, что вы не понимаете, не стесняйтесь спрашивать, и я попытаюсь объяснить это снова другими словами.
Ваш письменный английский лучше, чем у многих носителей языка! На ваш вопрос уже был дан ответ: http://stackoverflow.com/questions/1282491/i-get-error-0x8badf00d-in-iphone-app-and-is-not-the-usual-suspect – jlehr
Спасибо вам два! Я видел вопрос, на который вы ссылаетесь, но, к сожалению, это не помогло моей проблеме. Но теперь я думаю, что я приближаюсь к решению благодаря ответу robbash. Спасибо вам все равно :) –