質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.54%
iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

12888閲覧

appleからのクラッシュ報告でリジェクトをくらい、クラッシュログの解決が出来ない。

po_tato

総合スコア97

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

1クリップ

投稿2018/02/23 06:13

先日、iosアプリでリジェクトされました。

リジェクト理由はページが表示されないという理由。
添付されていたスクリーンショットをみるとhttp通信をして表示させている部分が
見事に表示されていませんでした。
クラッシュログファイルが添付されていたので、
ログにシンボル情報を追加するやり方で少しは分かりやすくなってのですが、
こういう対応が初めてな私は原因がよくわかりません。

ちなみに、自分で実機やシミュレータでデバッグしてみるも正常。
同じiosバージョンにして、こちらのサイトに紹介されていたやり方で、
ipv6の対応が出来ているかも確認して全然問題ありませんでした。
しかも、これまで何十回もアップデートしてきて問題なかった部分がいきなり
このようになるなんてわけがわかりません。。

クラッシュログファイルを添付致しますが、
こちらを見る限り、0行目からクラッシュしているということでしょうか?
そしてその次の行では"AppDelegate.swift:0"とありますが、
これは前の行より戻っていますが、どういうことなのでしょうか?

詳しい方、ヒントを教えてくれませんでしょうか?
よろしくお願い致します。

{"app_name":"MyApp","timestamp":"2018-02-23 02:39:17.93 +0900","app_version":"1.39","slice_uuid":"802b262a-4694-3047-a476-dd169e4e9130","adam_id":1168856662,"build_version":"39","bundleID":"com.user.MyApp","share_with_app_devs":false,"is_first_party":false,"bug_type":"109","os_version":"iPhone OS 11.2.5 (15D60)","incident_id":"5275E79C-50FF-4811-B508-6AB143D3CB9E","name":"MyApp"} Incident Identifier: 5275E79C-50FF-4811-B508-6AB143D3CB9E CrashReporter Key: 1d555e5b0a605a819c8de3b86055e0a8a4a94a62 Hardware Model: xxx1 Process: MyApp [4376] Path: /private/var/containers/Bundle/Application/48EFC50A-3B1C-4CCA-A32C-7A783523D60C/MyApp.app/MyApp Identifier: com.user.MyApp Version: 39 (1.39) Code Type: ARM-64 (Native) Role: Foreground Parent Process: launchd [1] Coalition: com.user.MyApp [1935] Date/Time: 2018-02-23 02:39:17.5151 +0900 Launch Time: 2018-02-23 01:55:44.0088 +0900 OS Version: iPhone OS 11.2.5 (15D60) Baseband Version: n/a Report Version: 104 Exception Type: EXC_BREAKPOINT (SIGTRAP) Exception Codes: 0x0000000000000001, 0x0000000104bab018 Termination Signal: Trace/BPT trap: 5 Termination Reason: Namespace SIGNAL, Code 0x5 Terminating Process: exc handler [0] Triggered by Thread: 0 Filtered syslog: None found Thread 0 name: Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 MyApp 0x0000000104bab018 specialized AppDelegate.tokenRefreshNotification(_:) + 159768 (AppDelegate.swift:171) 1 MyApp 0x0000000104ba8cd0 @objc AppDelegate.tokenRefreshNotification(_:) + 150736 (AppDelegate.swift:0) 2 CoreFoundation 0x00000001824f913c 0x182424000 + 872764 3 CoreFoundation 0x00000001824f86dc 0x182424000 + 870108 4 CoreFoundation 0x00000001824f8440 0x182424000 + 869440 5 CoreFoundation 0x0000000182575e24 0x182424000 + 1383972 6 CoreFoundation 0x000000018242ed60 0x182424000 + 44384 7 Foundation 0x0000000182eb1410 0x182e55000 + 377872 8 CoreFoundation 0x000000018250ecdc 0x182424000 + 961756 9 CoreFoundation 0x000000018250c694 0x182424000 + 951956 10 CoreFoundation 0x000000018250cb28 0x182424000 + 953128 11 CoreFoundation 0x000000018242cc58 0x182424000 + 35928 12 GraphicsServices 0x00000001842d8f84 0x1842ce000 + 44932 13 UIKit 0x000000018bb855c4 0x18bb12000 + 472516 14 MyApp 0x0000000104b89418 main + 21528 (LoginViewController.swift:18) 15 libdyld.dylib 0x0000000181f4c56c 0x181f4b000 + 5484 Thread 1 name: Dispatch queue: com.google.fira.worker Thread 1: 0 MyApp 0x0000000104c0b380 -[FIRASqliteStore validateTableWithName:requiredColumnNames:addOnColumns:error:] + 748 1 MyApp 0x0000000104c0accc -[FIRASqliteStore ensureTableWithName:createSQL:requiredColumnNames:addOnColumns:error:] + 376 2 MyApp 0x0000000104c09ff4 -[FIRASqliteStore ensureTableWithName:elementaryColumnInfo:addOnColumnInfo:error:] + 1756 3 MyApp 0x0000000104c0a804 -[FIRASqliteStore ensureTableWithName:elementaryColumnInfo:addOnColumnInfo:modifyColumnInfo:error:] + 124 4 MyApp 0x0000000104c202a4 -[FIRADatabase ensureAllTables] + 5468 5 MyApp 0x0000000104c15894 -[FIRADatabase initWithDatabaseName:persistedConfig:] + 224 6 MyApp 0x0000000104c24648 __48-[FIRAMeasurement startMeasurementOnWorkerQueue]_block_invoke + 712 7 libdispatch.dylib 0x0000000181ee6a14 0x181ee5000 + 6676 8 libdispatch.dylib 0x0000000181eea240 0x181ee5000 + 21056 9 MyApp 0x0000000104c24364 -[FIRAMeasurement startMeasurementOnWorkerQueue] + 268 10 MyApp 0x0000000104c24130 -[FIRAMeasurement setEnabledOnWorkerQueue:] + 124 11 MyApp 0x0000000104c389b4 __52-[FIRAScheduler scheduleOnWorkerQueueBlockID:block:]_block_invoke + 44 12 libdispatch.dylib 0x0000000181ee6a54 0x181ee5000 + 6740 13 libdispatch.dylib 0x0000000181ee6a14 0x181ee5000 + 6676 14 libdispatch.dylib 0x0000000181ef096c 0x181ee5000 + 47468 15 libdispatch.dylib 0x0000000181ef12fc 0x181ee5000 + 49916 16 libdispatch.dylib 0x0000000181ef1d20 0x181ee5000 + 52512 17 libdispatch.dylib 0x0000000181efa03c 0x181ee5000 + 86076 18 libsystem_pthread.dylib 0x000000018218ef1c 0x18218e000 + 3868 19 libsystem_pthread.dylib 0x000000018218eb6c 0x18218e000 + 2924 Thread 2 name: com.apple.uikit.eventfetch-thread Thread 2: 0 libsystem_kernel.dylib 0x000000018205b568 0x18205a000 + 5480 1 libsystem_kernel.dylib 0x000000018205b3e0 0x18205a000 + 5088 2 CoreFoundation 0x000000018250f108 0x182424000 + 962824 3 CoreFoundation 0x000000018250ccd4 0x182424000 + 953556 4 CoreFoundation 0x000000018242cc58 0x182424000 + 35928 5 Foundation 0x0000000182e61594 0x182e55000 + 50580 6 Foundation 0x0000000182e809ac 0x182e55000 + 178604 7 UIKit 0x000000018c6ef7a8 0x18bb12000 + 12441512 8 Foundation 0x0000000182f630f4 0x182e55000 + 1106164 9 libsystem_pthread.dylib 0x00000001821902b4 0x18218e000 + 8884 10 libsystem_pthread.dylib 0x0000000182190180 0x18218e000 + 8576 11 libsystem_pthread.dylib 0x000000018218eb74 0x18218e000 + 2932 Thread 3 name: com.apple.NSURLConnectionLoader Thread 3: 0 libsystem_kernel.dylib 0x000000018205b568 0x18205a000 + 5480 1 libsystem_kernel.dylib 0x000000018205b3e0 0x18205a000 + 5088 2 CoreFoundation 0x000000018250f108 0x182424000 + 962824 3 CoreFoundation 0x000000018250ccd4 0x182424000 + 953556 4 CoreFoundation 0x000000018242cc58 0x182424000 + 35928 5 CFNetwork 0x0000000182d1bb08 0x182ae8000 + 2308872 6 Foundation 0x0000000182f630f4 0x182e55000 + 1106164 7 libsystem_pthread.dylib 0x00000001821902b4 0x18218e000 + 8884 8 libsystem_pthread.dylib 0x0000000182190180 0x18218e000 + 8576 9 libsystem_pthread.dylib 0x000000018218eb74 0x18218e000 + 2932 Thread 4: 0 libsystem_kernel.dylib 0x000000018207c0f0 0x18205a000 + 139504 1 libsystem_pthread.dylib 0x0000000182192ce4 0x18218e000 + 19684 2 libc++.1.dylib 0x0000000181732f34 0x18172b000 + 32564 3 JavaScriptCore 0x00000001898d5168 0x188f2b000 + 10133864 4 JavaScriptCore 0x00000001898d503c 0x188f2b000 + 10133564 5 JavaScriptCore 0x00000001898d4ec0 0x188f2b000 + 10133184 6 JavaScriptCore 0x00000001898d51b8 0x188f2b000 + 10133944 7 libsystem_pthread.dylib 0x00000001821902b4 0x18218e000 + 8884 8 libsystem_pthread.dylib 0x0000000182190180 0x18218e000 + 8576 9 libsystem_pthread.dylib 0x000000018218eb74 0x18218e000 + 2932 Thread 5 name: WebThread Thread 5: 0 libsystem_kernel.dylib 0x000000018205b568 0x18205a000 + 5480 1 libsystem_kernel.dylib 0x000000018205b3e0 0x18205a000 + 5088 2 CoreFoundation 0x000000018250f108 0x182424000 + 962824 3 CoreFoundation 0x000000018250ccd4 0x182424000 + 953556 4 CoreFoundation 0x000000018242cc58 0x182424000 + 35928 5 WebCore 0x000000018a3a184c 0x18a360000 + 268364 6 libsystem_pthread.dylib 0x00000001821902b4 0x18218e000 + 8884 7 libsystem_pthread.dylib 0x0000000182190180 0x18218e000 + 8576 8 libsystem_pthread.dylib 0x000000018218eb74 0x18218e000 + 2932 Thread 6: 0 libsystem_pthread.dylib 0x000000018218eb68 0x18218e000 + 2920 Thread 7 name: com.apple.CFSocket.private Thread 7: 0 libsystem_kernel.dylib 0x000000018207c534 0x18205a000 + 140596 1 CoreFoundation 0x0000000182517640 0x182424000 + 996928 2 libsystem_pthread.dylib 0x00000001821902b4 0x18218e000 + 8884 3 libsystem_pthread.dylib 0x0000000182190180 0x18218e000 + 8576 4 libsystem_pthread.dylib 0x000000018218eb74 0x18218e000 + 2932
Guideline 2.1 - Performance - App Completeness Your app crashed on iPad running iOS 11.2.6 connected to an IPv6 network when we: Specifically, your app crashes when we tap on 利用規約. This occurred when your app was used: - On Wi-Fi We have attached detailed crash logs to help troubleshoot this issue. Next Steps To resolve this issue, please revise your app and test it on a device to ensure that it runs as expected. Resources For information on how to symbolicate and read a crash log, please review Tech Note TN2151 Understanding and Analyzing Application Crash Reports.

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

1

ベストアンサー

見るべきはここです。

Thread 0 Crashed:
0 MyApp 0x0000000104bab018 specialized AppDelegate.tokenRefreshNotification(_:) + 159768 (AppDelegate.swift:171)
14 MyApp 0x0000000104b89418 main + 21528 (LoginViewController.swift:18)

Thread 0、つまりメインスレッドでクラッシュしていて、
問題の発生個所はスタックの一番上であるAppDelegate.tokenRefreshNotification(_:)です。
AppDelegate.swift:171はその関数があるファイルと位置なんで、あまり意味のある情報ではないと思います。
また、この問題はLoginViewControllerからOSのライブラリを経由して呼び出された時に発生しています。
NotificationCenterでも使用してるのかな?

クラッシュした原因は以下です。

Exception Type: EXC_BREAKPOINT (SIGTRAP)

EXC_BREAKPOINTはAppleのドキュメントによると
・使用しようとしたオプショナル型がnilだった
・型変換に失敗した

とあるのでtokenRefreshNotification内のそれが起こりそうな個所を探して原因を推測するしかないです。
なんかエラーケースの処理が抜けているんだと思います。

ちなみにスタックトレースの

1 MyApp 0x0000000104ba8cd0 @objc AppDelegate.tokenRefreshNotification(_:) + 150736 (AppDelegate.swift:0)

となっている箇所ですが、tokenRefreshNotificationに@objを付けていると思いますが、
OSやObjective-Cの世界からSwiftの関数を呼び出すためにコンパイラが自動的に作成するもので、それを経由しているのでスタックに出ています。
コンパイラが作成したものでソースがあるわけでもないから AppDelegate.swift:0 となっているようです。
これは気にしなくていいです。

投稿2018/02/24 05:46

toki_td

総合スコア2850

tanat👍を押しています

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

po_tato

2018/02/26 02:52

なるほど!とても参考になりました。 push機能を実装しているので、appdelegateのnotification部分をもう一度確認してみたいと思います。ありがとうございます! 一つ質問があるのですが、Thread0でこのように問題箇所を見つけた場合、 その以降のThreadで起こっている処理はThread0で引き起こされたものが影響しているだけなので、気にしなくて良いという判断でよろしいのでしょうか??
toki_td

2018/02/26 12:21

はい、どこかのスレッドでハンドルされない問題が発生した(クラッシュした)瞬間の全スレッドのスタックが出ているだけで、そこが他のスレッドに関連しないなら無視してOKです。 スレッド間で通信してる時のクラッシュとか、デッドロックした時の解析に必要になりますからね。
po_tato

2018/02/26 12:57

そうなんですね! クラッシュログの解析はとても難しいですね。 まだ、問題は解決出来ていないのですが、大変参考になりました。 ありがとうございました!
toki_td

2018/02/26 13:51

そうそう、1つ大事なこと忘れていました。 + 159768 は関数の頭から問題発生位置までのオフセットを示しています。 Appleに申請した時のアーカイブが残っていれば、そこからデバッグシンボル(dSYM)を抜き出してばっちり問題の位置を求めることができます。 この辺参考にどうぞ https://qiita.com/ruwatana/items/cc470eb229d267d693b0 もし残ってなくても同じソースをビルドをして実機動作で関数の頭とかでブレーク、アセンブリでオフセットを見れば過信は禁物ですがおおよその場所は特定できると思います。
po_tato

2018/02/26 15:22

えっと、、一応デバックシンボルを抜き出して解析した結果を添付しているつもりでしたが、記載にある、リンク先のように、より分かりやすく解析まですれば良いということでしょうか?
toki_td

2018/02/26 16:41

おっと、そうか別の環境と混じって勘違いしてました。 最近だとアップ時に再コンパイルされたりするから位置特定は結構難しいですね、、、 失礼しました。無視してください、、、。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.54%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

同じタグがついた質問を見る

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています