1

一部のユーザーの起動時に iPhone アプリがクラッシュするという問題が発生しています。ほとんどのユーザーはまったく問題ありません。アプリはアプリ ストアで公開されています。Apple は問題を検出しませんでした。私はテスト時にこれらの問題を検出しませんでした。しかし、それらは存在します。

そう。これが私が知っていることです。クラッシュは iPod touch ユーザーに起こると思います。あるユーザーから取得したクラッシュ ログから、例外コードを知っています。

例外コード: 0x00000000、0x00000000

アプリがメモリ内の nil ポインターに書き込もうとしていると思われるのはどれですか? (ほとんど完全なクラッシュ ログを以下に示します)。それで、私は何が起こっているのかについていくつかのアイデアを持っています.誰かが助けてくれることを願っていました...私が持っているいくつかの理論を以下に示します-もっとアイデアが欲しい. 問題は、テスト デバイス (iPhone4、iPhone3G、iPodTouch、iPad) のいずれでも問題が発生していないため、デバッグが非常に難しいことです...

Theory1 ) viewDidLoad でいくつかの整数を定義し、それらを viewWillAppear で使用します。愚かなことはわかっていますが、操作の順序は、viewDidLoad、viewWillAppear、viewDidAppear であると想定していました。これは常に当てはまりますか?それが役立つ場合、私はappDelegateからこのviewControllerをロードしています...

Theory2 ) viewController に UIView の配列を作成します。これらのビューは IBOutlets です。現在、viewDidLoad デリゲート メソッドでこの配列を作成しています。これらがまだ存在しない可能性はありますか?viewWill または viewDid が表示されるまで待てば、この問題は解決しますか?

Theory3 ) アプリには、nib ファイルで自身を宣言するカスタム デリゲートがあります。準備が整う前にView Controllerにメッセージを送信している可能性はありますか?

Theory4 ) バージョンの最小 iOS 展開ターゲットと関係があります。現在、私は 4.1 に対してビルドしていますが、開発ターゲットを 3.1 に設定しています。存在しないメソッドを使用しているとは思いませんが、これがルートでしょうか?

これらのいずれかに対する信憑性はありますか?他の誰かが同様の問題に直面していますか?事前にご協力いただきありがとうございます。多かれ少なかれ完全なクラッシュレポートは次のとおりです。

インシデント ID: 2B873C9A-8B07-43FC-A5E9-E83D53A42B35
CrashReporter キー: 5a39aac7c109610da9b8ed70df794d6feb519f19
プロセス: ## 恥ずかしさから保護するために検閲済み ##
パス: /var/mobile/Applications/
識別子: ## 困惑防止のため検閲済み ##
バージョン: ???(???)
コードタイプ: ARM (ネイティブ)
親プロセス: launchd [1]

日時: 2010-11-12 18:59:04.099 +0000
OSバージョン:iPhone OS 3.1.3(7E​​18)
レポートのバージョン: 104

例外の種類: EXC_CRASH (SIGABRT)
例外コード: 0x00000000、0x00000000
クラッシュしたスレッド: 0

スレッド 0 がクラッシュしました:
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 コアファウンデーション 0x338ecbf6 0x33857000 + 613366
11 コアファウンデーション 0x33871b12 0x33857000 + 109330
12 コアファウンデーション 0x33868838 0x33857000 + 71736
13 ウケバンク 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 クォーツコア 0x31b651b8 0x31b59000 + 49592
39 クォーツコア 0x31b64ed4 0x31b59000 + 48852
40 クォーツコア 0x31b6483c 0x31b59000 + 47164
41 クォーツコア 0x31b6446c 0x31b59000 + 46188
42 クォーツコア 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 グラフィックサービス 0x3434f7dc 0x3434a000 + 22492
49 コアファウンデーション 0x338ae524 0x33857000 + 357668
50 コアファウンデーション 0x338adc18 0x33857000 + 355352
51 UIKit 0x32002c00 0x31fff000 + 15360
52 UIKit 0x32001228 0x31fff000 + 8744
53 ウケバンク 0x0000213c 0x1000 + 4412
54 ウケバンク 0x0000210c 0x1000 + 4364

スレッド 1:
0 libSystem.B.dylib 0x33905488 0x33904000 + 5256
1 libSystem.B.dylib 0x33908064 0x33904000 + 16484
2 CoreFoundation 0x338ae002 0x33857000 + 356354
3 コアファウンデーション 0x338adc18 0x33857000 + 355352
4 ウェブコア 0x33ac61d4 0x33a42000 + 541140
5 libSystem.B.dylib 0x3392f780 0x33904000 + 178048

スレッド 0 が ARM スレッド状態でクラッシュしました:
    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

バイナリ イメージ:
    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 セキュリティ armv6 /System/Library/Frameworks/Security.framework/Security
0x300ca000 - 0x3021efff AudioToolbox armv6 /システム/ライブラリ/フレームワーク/AudioToolbox.framework/AudioToolbox
0x30343000 - 0x3034cfff SpringBoardServices armv6 /システム/ライブラリ/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 /システム/ライブラリ/PrivateFrameworks/JavaScriptCore.framework/JavaScriptCore
0x30f96000 - 0x30f97fff CoreSurface armv6 /システム/ライブラリ/PrivateFrameworks/CoreSurface.framework/CoreSurface
0x30fba000 - 0x31067fff ImageIO armv6 /システム/ライブラリ/PrivateFrameworks/ImageIO.framework/ImageIO
0x310b3000 - 0x310bdfff libkxld.dylib armv6 /usr/lib/system/libkxld.dylib
0x310be000 - 0x31278fff CoreGraphics armv6 /システム/ライブラリ/フレームワーク/CoreGraphics.framework/CoreGraphics
0x3138c000 - 0x313aafff AddressBook armv6 /システム/ライブラリ/フレームワーク/AddressBook.framework/AddressBook
0x313e2000 - 0x3143dfff CoreAudio armv6 /システム/ライブラリ/フレームワーク/CoreAudio.framework/CoreAudio
0x31465000 - 0x314a2fff libCGFreetype.A.dylib armv6 /システム/ライブラリ/フレームワーク/CoreGraphics.framework/Resources/libCGFreetype.A.dylib
0x31546000 - 0x315f3fff WebKit armv6 /システム/ライブラリ/PrivateFrameworks/WebKit.framework/WebKit
0x31600000 - 0x3164dfff IOKit armv6 /システム/ライブラリ/フレームワーク/IOKit.framework/バージョン/A/IOKit
0x31767000 - 0x3176dfff liblockdown.dylib armv6 /usr/lib/liblockdown.dylib
0x318f1000 - 0x3195efff CFNetwork armv6 /システム/ライブラリ/フレームワーク/CFNetwork.framework/CFNetwork
0x319c4000 - 0x319fffff CoreTelephony armv6 /システム/ライブラリ/PrivateFrameworks/CoreTelephony.framework/CoreTelephony
0x31a00000 - 0x31a0afff MobileCoreServices armv6 /システム/ライブラリ/フレームワーク/MobileCoreServices.framework/MobileCoreServices
0x31b59000 - 0x31c03fff QuartzCore armv6 /システム/ライブラリ/フレームワーク/QuartzCore.framework/QuartzCore
0x31c04000 - 0x31c38fff SystemConfiguration armv6 /System/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration
0x31ca1000 - 0x31cdffff CoreText armv6 /システム/ライブラリ/PrivateFrameworks/CoreText.framework/CoreText
0x31d09000 - 0x31dffffff libxml2.2.dylib armv6 /usr/lib/libxml2.2.dylib
0x31fd7000 - 0x31ffefff AppSupport armv6 /System/Library/PrivateFrameworks/AppSupport.framework/AppSupport
0x31fff000 - 0x32df0fff UIKit armv6 /システム/ライブラリ/フレームワーク/UIKit.framework/UIKit
0x32e05000 - 0x32e5ffff libsqlite3.dylib armv6 /usr/lib/libsqlite3.dylib
0x32e78000 - 0x32f70fff Foundation armv6 /システム/ライブラリ/フレームワーク/Foundation.framework/Foundation
0x32f71000 - 0x32f79fff libgcc_s.1.dylib armv6 /usr/lib/libgcc_s.1.dylib
0x32f7a000 - 0x32f91fff OpenGLES armv6 /システム/ライブラリ/フレームワーク/OpenGLES.framework/OpenGLES
0x33242000 - 0x3324efff CoreVideo armv6 /システム/ライブラリ/PrivateFrameworks/CoreVideo.framework/CoreVideo
0x3324f000 - 0x3324ffff vecLib armv6 /システム/ライブラリ/PrivateFrameworks/Accelerate.framework/Frameworks/vecLib.framework/vecLib
0x332b2000 - 0x332c2fff libbsm.0.dylib armv6 /usr/lib/libbsm.0.dylib
0x332e8000 - 0x332e9fff IOMobileFramebuffer armv6 /システム/ライブラリ/PrivateFrameworks/IOMobileFramebuffer.framework/IOMobileFramebuffer
0x3335f000 - 0x33365fff MBX2D armv6 /システム/ライブラリ/PrivateFrameworks/MBX2D.framework/MBX2D
0x33366000 - 0x33409fff libobjc.A.dylib armv6 /usr/lib/libobjc.A.dylib
0x3342f000 - 0x33437fff AVFoundation armv6 /システム/ライブラリ/フレームワーク/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 armv6 の加速 /System/Library/PrivateFrameworks/Accelerate.framework/Accelerate
0x33857000 - 0x33903fff CoreFoundation armv6 /システム/ライブラリ/フレームワーク/CoreFoundation.framework/CoreFoundation
0x33904000 - 0x33a2afff libSystem.B.dylib armv6 /usr/lib/libSystem.B.dylib
0x33a3d000 - 0x33a41fff IOSurface armv6 /システム/ライブラリ/PrivateFrameworks/IOSurface.framework/IOSurface
0x33a42000 - 0x34195fff WebCore armv6 /システム/ライブラリ/PrivateFrameworks/WebCore.framework/WebCore
0x3430f000 - 0x34349fff libvDSP.dylib armv6 /システム/ライブラリ/PrivateFrameworks/Accelerate.framework/Frameworks/vecLib.framework/libvDSP.dylib
0x3434a000 - 0x34355fff GraphicsServices armv6 /System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices

4

2 に答える 2

2

以前にも同様の問題がありましたが、解決策は libSystem.B.dylib を弱いリンクにすることでした

1.) ターゲットのプロパティを開きます (左側の [グループとファイル] ペインでターゲットをダブルクリックします)。

2.) 一般タブに移動します。

3.) リストされている「libSystem.B.dylib」を見つけて、「必須」を「弱い」に変更します。

libSystem.B.dylib がリストされていない場合は、「既存のフレームワーク」から追加してください。

于 2010-11-14T16:32:01.453 に答える
1

13 ウケバンク 0x00003cd2 0x1000 + 11474

それが間違っている可能性が最も高いです(フレームワークではなくアプリケーションのバグを想定しています)。コードがそこで何をしているかを把握すると (デバッグ シンボルや逆アセンブラを使用)、単なる推測ではない理論への道を歩むことになります。

于 2010-11-14T16:11:59.573 に答える