##問題
FirebaseのCrashlyticsで画像のように、メインスレッド以外でUIの更新をしたために起こったクラッシュを検出しました。
上記の問題が起こった心当たりとして、APIリクエストの際に、スレッドを意識せずに開発しておりました。下記のように、APIリクエストをメインスレッドでないスレッドで行い、コールバックで値が帰ってきたあとは、メインスレッドで処理するように変えてみました。
(参考にしたURL
https://dev.classmethod.jp/smartphone/iphone/swift-3-how-to-use-gcd-api-1/
http://program-farm.net/?p=1120)
DispatchQueue.global(qos: .default).async { //APIリクエスト Alamofire.request { (response) -> in //コールバック DispatchQueue.main.async { } } }
(一旦ざっくり書いてます m(_ _)m)
聞きたいこととしては、上記のコードは問題なさそうかということと、
スレッドを意識する開発するために他に気をつけたほうがいい点などありましたら教えていただきたいです。
よろしくお願いします。
##追記(7/29)
Crashlytics(クラッシュ検出ツール)では、どこでメインスレッド以外でのUIの更新が入ったかわからず、落ちた箇所を特定しづらい状況にあります
あなたの回答
tips
プレビュー