iPhone SIGABRT Crash 0x00000000: Помогите мне с множественным выбором

У меня проблема с приложением для iPhone, которое вылетает при запуске у некоторых пользователей. У БОЛЬШИНСТВА пользователей все в порядке - приложение размещено в магазине приложений, Apple не обнаружила никаких проблем, я никогда не обнаруживал этих проблем при тестировании. Однако они существуют.

Так. Вот что я знаю. Я считаю, что сбой происходит у пользователей iPod touch. Из журналов сбоев, которые я получил от одного пользователя, я знаю коды исключений:

Exception Codes: 0x00000000, 0x00000000

Что, как я считаю, указывает на то, что мое приложение пытается записать нулевой указатель в памяти? (В основном полный журнал сбоев ниже). Итак, у меня есть несколько идей о том, что может происходить, и я надеялся, что кто-то сможет помочь ... несколько теорий, которые у меня есть, приведены ниже - мне бы хотелось еще несколько идей. Проблема в том, что мне очень сложно отлаживать, так как я не сталкивался с проблемой ни на одном из своих тестовых устройств (iPhone4, iPhone3G, iPodTouch, iPad) ...

Theory1) Я определяю несколько целых чисел в viewDidLoad, а затем использую их во viewWillAppear. Глупо, я знаю, но я предполагал, что порядок операций был viewDidLoad, viewWillAppear, а затем viewDidAppear. Всегда ли это так? Я загружаю этот viewController из appDelegate, если это поможет ...

Theory2) Я создаю массив UIViews в viewController. Это представления IBOutlets. В настоящее время я создаю этот массив в методе делегата viewDidLoad. Возможно ли, что их еще нет? Если я дождусь появления viewWill или viewDid, решит ли это эту проблему?

Теория3) В приложении у меня есть специальный делегат, который объявляет себя в файле пера. Может ли он отправлять сообщения контроллеру представления, прежде чем он будет готов для них?

Теория4) Это как-то связано с целью развертывания минимальной версии iOS. В настоящее время я строю против 4.1, но моя цель для разработчиков установлена ​​на 3.1. Я не верю, что использую методы, которых не существует, но может ли это быть корнем?

Есть ли доверие к любому из них? Кто-нибудь еще сталкивается с подобными проблемами? Большое спасибо за вашу помощь заранее. Вот полный, более или менее, отчет о сбое:


Incident Identifier: 2B873C9A-8B07-43FC-A5E9-E83D53A42B35
CrashReporter Key:   5a39aac7c109610da9b8ed70df794d6feb519f19
Process:         ## CENSORED FOR EMBARRASSMENT PROTECTION ##
Path:            /var/mobile/Applications/
Identifier:      ## CENSORED FOR EMBARRASSMENT PROTECTION ##
Version:         ??? (???)
Code Type:       ARM (Native)
Parent Process:  launchd [1]

Date/Time:       2010-11-12 18:59:04.099 +0000
OS Version:      iPhone OS 3.1.3 (7E18)
Report Version:  104

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x00000000, 0x00000000
Crashed Thread:  0

Thread 0 Crashed:
0   libSystem.B.dylib               0x33994b2c 0x33904000 + 592684
1   libSystem.B.dylib               0x33994b1a 0x33904000 + 592666
2   libSystem.B.dylib               0x33994b0e 0x33904000 + 592654
3   libSystem.B.dylib               0x339abe34 0x33904000 + 687668
4   libstdc++.6.dylib               0x30800390 0x3079a000 + 418704
5   libobjc.A.dylib                 0x3336e898 0x33366000 + 34968
6   libstdc++.6.dylib               0x307fda84 0x3079a000 + 408196
7   libstdc++.6.dylib               0x307fdafc 0x3079a000 + 408316
8   libstdc++.6.dylib               0x307fdc24 0x3079a000 + 408612
9   libobjc.A.dylib                 0x3336ce54 0x33366000 + 28244
10  CoreFoundation                  0x338ecbf6 0x33857000 + 613366
11  CoreFoundation                  0x33871b12 0x33857000 + 109330
12  CoreFoundation                  0x33868838 0x33857000 + 71736
13  UkeBank                         0x00003cd2 0x1000 + 11474
14  UIKit                           0x3207a8d0 0x31fff000 + 506064
15  UIKit                           0x32077a40 0x31fff000 + 494144
16  UIKit                           0x320773fc 0x31fff000 + 492540
17  UIKit                           0x32076f44 0x31fff000 + 491332
18  UIKit                           0x32079824 0x31fff000 + 501796
19  UIKit                           0x32077a40 0x31fff000 + 494144
20  UIKit                           0x32076f44 0x31fff000 + 491332
21  UIKit                           0x32077c90 0x31fff000 + 494736
22  UIKit                           0x32077a40 0x31fff000 + 494144
23  UIKit                           0x320773fc 0x31fff000 + 492540
24  UIKit                           0x32076f44 0x31fff000 + 491332
25  UIKit                           0x32074954 0x31fff000 + 481620
26  UIKit                           0x32074558 0x31fff000 + 480600
27  UIKit                           0x32088304 0x31fff000 + 561924
28  UIKit                           0x320880b8 0x31fff000 + 561336
29  UIKit                           0x32068750 0x31fff000 + 431952
30  UIKit                           0x32087fd8 0x31fff000 + 561112
31  UIKit                           0x32087d90 0x31fff000 + 560528
32  UIKit                           0x32087c3c 0x31fff000 + 560188
33  UIKit                           0x3208763c 0x31fff000 + 558652
34  UIKit                           0x320873a8 0x31fff000 + 557992
35  UIKit                           0x32087298 0x31fff000 + 557720
36  UIKit                           0x3206b86c 0x31fff000 + 444524
37  UIKit                           0x320472d0 0x31fff000 + 295632
38  QuartzCore                      0x31b651b8 0x31b59000 + 49592
39  QuartzCore                      0x31b64ed4 0x31b59000 + 48852
40  QuartzCore                      0x31b6483c 0x31b59000 + 47164
41  QuartzCore                      0x31b6446c 0x31b59000 + 46188
42  QuartzCore                      0x31b64318 0x31b59000 + 45848
43  UIKit                           0x32051e94 0x31fff000 + 339604
44  UIKit                           0x32003a80 0x31fff000 + 19072
45  UIKit                           0x32054df8 0x31fff000 + 351736
46  UIKit                           0x32054634 0x31fff000 + 349748
47  UIKit                           0x3205408c 0x31fff000 + 348300
48  GraphicsServices                0x3434f7dc 0x3434a000 + 22492
49  CoreFoundation                  0x338ae524 0x33857000 + 357668
50  CoreFoundation                  0x338adc18 0x33857000 + 355352
51  UIKit                           0x32002c00 0x31fff000 + 15360
52  UIKit                           0x32001228 0x31fff000 + 8744
53  UkeBank                         0x0000213c 0x1000 + 4412
54  UkeBank                         0x0000210c 0x1000 + 4364

Thread 1:
0   libSystem.B.dylib               0x33905488 0x33904000 + 5256
1   libSystem.B.dylib               0x33908064 0x33904000 + 16484
2   CoreFoundation                  0x338ae002 0x33857000 + 356354
3   CoreFoundation                  0x338adc18 0x33857000 + 355352
4   WebCore                         0x33ac61d4 0x33a42000 + 541140
5   libSystem.B.dylib               0x3392f780 0x33904000 + 178048

Thread 0 crashed with ARM Thread State:
    r0: 0x00000000    r1: 0x00000000      r2: 0x00000001      r3: 0x385333cc
    r4: 0x00000006    r5: 0x0012e6ac      r6: 0x2fffccfc      r7: 0x2fffcd0c
    r8: 0x385265c4    r9: 0x0000000a     r10: 0x30cb8524     r11: 0x00000000
    ip: 0x00000025    sp: 0x2fffcd0c      lr: 0x33994b21      pc: 0x33994b2c
  cpsr: 0x00070010

Binary Images:
    0x1000 -     0x9fff +UkeBank armv6   /var/mobile/Applications/6D5DFEC6-21DF-431C-B2B2-DEACE4366B61/UkeBank.app/UkeBank
   0x6a000 -    0x6bfff  dns.so armv6   /usr/lib/info/dns.so
0x2fe00000 - 0x2fe26fff  dyld armv6   /usr/lib/dyld
0x30092000 - 0x300c6fff  Security armv6   /System/Library/Frameworks/Security.framework/Security
0x300ca000 - 0x3021efff  AudioToolbox armv6   /System/Library/Frameworks/AudioToolbox.framework/AudioToolbox
0x30343000 - 0x3034cfff  SpringBoardServices armv6   /System/Library/PrivateFrameworks/SpringBoardServices.framework/SpringBoardServices
0x30490000 - 0x30591fff  libicucore.A.dylib armv6   /usr/lib/libicucore.A.dylib
0x3079a000 - 0x30804fff  libstdc++.6.dylib armv6   /usr/lib/libstdc++.6.dylib
0x30805000 - 0x30902fff  JavaScriptCore armv6   /System/Library/PrivateFrameworks/JavaScriptCore.framework/JavaScriptCore
0x30f96000 - 0x30f97fff  CoreSurface armv6   /System/Library/PrivateFrameworks/CoreSurface.framework/CoreSurface
0x30fba000 - 0x31067fff  ImageIO armv6   /System/Library/PrivateFrameworks/ImageIO.framework/ImageIO
0x310b3000 - 0x310bdfff  libkxld.dylib armv6   /usr/lib/system/libkxld.dylib
0x310be000 - 0x31278fff  CoreGraphics armv6   /System/Library/Frameworks/CoreGraphics.framework/CoreGraphics
0x3138c000 - 0x313aafff  AddressBook armv6   /System/Library/Frameworks/AddressBook.framework/AddressBook
0x313e2000 - 0x3143dfff  CoreAudio armv6   /System/Library/Frameworks/CoreAudio.framework/CoreAudio
0x31465000 - 0x314a2fff  libCGFreetype.A.dylib armv6   /System/Library/Frameworks/CoreGraphics.framework/Resources/libCGFreetype.A.dylib
0x31546000 - 0x315f3fff  WebKit armv6   /System/Library/PrivateFrameworks/WebKit.framework/WebKit
0x31600000 - 0x3164dfff  IOKit armv6   /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
0x31767000 - 0x3176dfff  liblockdown.dylib armv6   /usr/lib/liblockdown.dylib
0x318f1000 - 0x3195efff  CFNetwork armv6   /System/Library/Frameworks/CFNetwork.framework/CFNetwork
0x319c4000 - 0x319fffff  CoreTelephony armv6   /System/Library/PrivateFrameworks/CoreTelephony.framework/CoreTelephony
0x31a00000 - 0x31a0afff  MobileCoreServices armv6   /System/Library/Frameworks/MobileCoreServices.framework/MobileCoreServices
0x31b59000 - 0x31c03fff  QuartzCore armv6   /System/Library/Frameworks/QuartzCore.framework/QuartzCore
0x31c04000 - 0x31c38fff  SystemConfiguration armv6   /System/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration
0x31ca1000 - 0x31cdffff  CoreText armv6   /System/Library/PrivateFrameworks/CoreText.framework/CoreText
0x31d09000 - 0x31dfffff  libxml2.2.dylib armv6   /usr/lib/libxml2.2.dylib
0x31fd7000 - 0x31ffefff  AppSupport armv6   /System/Library/PrivateFrameworks/AppSupport.framework/AppSupport
0x31fff000 - 0x32df0fff  UIKit armv6   /System/Library/Frameworks/UIKit.framework/UIKit
0x32e05000 - 0x32e5ffff  libsqlite3.dylib armv6   /usr/lib/libsqlite3.dylib
0x32e78000 - 0x32f70fff  Foundation armv6   /System/Library/Frameworks/Foundation.framework/Foundation
0x32f71000 - 0x32f79fff  libgcc_s.1.dylib armv6   /usr/lib/libgcc_s.1.dylib
0x32f7a000 - 0x32f91fff  OpenGLES armv6   /System/Library/Frameworks/OpenGLES.framework/OpenGLES
0x33242000 - 0x3324efff  CoreVideo armv6   /System/Library/PrivateFrameworks/CoreVideo.framework/CoreVideo
0x3324f000 - 0x3324ffff  vecLib armv6   /System/Library/PrivateFrameworks/Accelerate.framework/Frameworks/vecLib.framework/vecLib
0x332b2000 - 0x332c2fff  libbsm.0.dylib armv6   /usr/lib/libbsm.0.dylib
0x332e8000 - 0x332e9fff  IOMobileFramebuffer armv6   /System/Library/PrivateFrameworks/IOMobileFramebuffer.framework/IOMobileFramebuffer
0x3335f000 - 0x33365fff  MBX2D armv6   /System/Library/PrivateFrameworks/MBX2D.framework/MBX2D
0x33366000 - 0x33409fff  libobjc.A.dylib armv6   /usr/lib/libobjc.A.dylib
0x3342f000 - 0x33437fff  AVFoundation armv6   /System/Library/Frameworks/AVFoundation.framework/AVFoundation
0x33730000 - 0x3373efff  libz.1.dylib armv6   /usr/lib/libz.1.dylib
0x337df000 - 0x337fdfff  libresolv.9.dylib armv6   /usr/lib/libresolv.9.dylib
0x33856000 - 0x33856fff  Accelerate armv6   /System/Library/PrivateFrameworks/Accelerate.framework/Accelerate
0x33857000 - 0x33903fff  CoreFoundation armv6   /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
0x33904000 - 0x33a2afff  libSystem.B.dylib armv6   /usr/lib/libSystem.B.dylib
0x33a3d000 - 0x33a41fff  IOSurface armv6   /System/Library/PrivateFrameworks/IOSurface.framework/IOSurface
0x33a42000 - 0x34195fff  WebCore armv6   /System/Library/PrivateFrameworks/WebCore.framework/WebCore
0x3430f000 - 0x34349fff  libvDSP.dylib armv6   /System/Library/PrivateFrameworks/Accelerate.framework/Frameworks/vecLib.framework/libvDSP.dylib
0x3434a000 - 0x34355fff  GraphicsServices armv6   /System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices


person Chris Ladd    schedule 14.11.2010    source источник
comment
Большое спасибо за ответы - я рассмотрю оба из них. Еще одна информация: пользователь, отправивший этот отчет о сбое, сказал мне, что после восстановления своего ipodtouch (у него были другие проблемы) мое приложение работало нормально. Однако есть и другие пользователи, у которых были сбои. Это исправление восстановления проливает свет на основную проблему?   -  person Chris Ladd    schedule 15.11.2010
comment
Эй, вы когда-нибудь узнали, в чем проблема? Я натыкаюсь на что-то подобное   -  person alemangui    schedule 19.02.2013


Ответы (2)


У меня раньше была аналогичная проблема, и решением для меня было слабое звено libSystem.B.dylib

1.) Откройте свойства цели (дважды щелкните цель на панели «Группы и файлы» слева).

2.) Перейдите на вкладку общие.

3.) Найдите в списке "libSystem.B.dylib" и измените "Обязательный" на "Слабый".

Если libSystem.B.dylib отсутствует в списке, добавьте его через «Существующие платформы».

person Brandon Williams    schedule 14.11.2010
comment
Это или что-то подобное может быть решением - я собираюсь дважды проверить, а затем пометить его как принятый, если он работает. Предыдущая версия этого программного обеспечения использовала RegExKitLite, который ссылается на libicucore.A.dylib. Возможно, эта ссылка вызывает аналогичную ошибку? Вы случайно не знаете, за что отвечает libSystem.B.dylib? Еще раз большое спасибо - проголосуйте сейчас. - person Chris Ladd; 16.11.2010
comment
libSystem.B.dylib имеет какое-то отношение к блокам. Возможно, вы сами не используете блоки, но библиотека, которую вы используете, может использовать их при определенных условиях. Даже если код с блоками никогда не выполняется в вашем приложении, он все равно вылетает при запуске, когда загружаются различные библиотеки. - person Brandon Williams; 17.11.2010

13 УкеБанк 0x00003cd2 0x1000 + 11474

Скорее всего, здесь что-то не так (при условии, что ошибка в вашем приложении, а не во фреймворке). Выясните, что там делает ваш код (используйте символы отладки и / или лицемер), и вы будете на пути к теории, которая не является просто предположением.

person Logan Capaldo    schedule 14.11.2010