RSSフィードを解析し、その内容をテーブルビューで表示するかなり簡単なアプリがあります。それはApp Storeで利用可能です。私はCrashlyticsクラッシュ報告を統合しました。私は最近、2つのレポートを受け取りました。これらは解読するのが少し困難です。クラッシュ:com.apple.root.default-qos
これは、iOS 10.2.1を実行しているiPhone 6で発生しています。
これは、iOS 10.2.1を実行しているiPhone 5からです。
それが原因プライバシーの侵害にクラッシュだと言うにもかかわらず、私は私のアプリでの許可を必要とするすべてのサービスにアクセスしていませんよ。
com.apple.root.default-qosで検索すると、これがバックグラウンドスレッドと関係する可能性があると私は考えています。バックグラウンドスレッドを使用する唯一の場所は、RSSフィードデータを解析することです。
DispatchQueue.global(qos: .background).async {
guard let data = try? Data(contentsOf: URL) else {
return
}
do {
let xmlDoc = try AEXMLDocument(xml: data)
if let items = xmlDoc.root["channel"]["item"].all {
self.posts.removeAll()
for item in items {
let title = item["title"].value ?? ""
// ...
self.posts.append(jobPost)
}
DispatchQueue.main.async {
self.saveposts(self.posts)
self.posts.sort { $0.publishDate > $1.publishDate }
self.tableView.reloadData()
UIApplication.shared.toggleNetworkActivityIndicator(show: false)
self.toggleUI(enable: true)
if self.refreshControl.isRefreshing { self.refreshControl.endRefreshing() }
}
}
} catch let error as NSError {
print("RSS parsing failed: \(error)")
self.showErrorAlert(error)
UIApplication.shared.toggleNetworkActivityIndicator(show: false)
self.toggleUI(enable: true)
if self.refreshControl.isRefreshing { self.refreshControl.endRefreshing() }
}
}
私は、iOS 9.3.5およびiOSの10.2を実行しているシミュレータを実行している私のiPhone 5にこのコードをテストしたが、何のクラッシュが発生していません。
この問題を追跡する他の方法はありますか?
これはアクセス許可の問題のようです。アクセス許可が必要なものを使用していないことを確認してください。 [this](http://stackoverflow.com/a/39416858/1305067)と[this](http://stackoverflow.com/questions/41011660/app-crashes-when-running-on-iphone-with-違反として - 例外として)。 また、Appleの[許可の一覧](https://developer.apple.com/library/content/qa/qa1937/_index.html)もあります。 – paulvs
私はすべてをダブルチェックしました。私のデバイスでは、通常のセルラーデータが設定で有効になっています。それだけです。私のデバイスはまだiOS 9になっているので、iOS 10.2を実行しているアプリケーションを再インストールしたシミュレータをリセットしてもう一度テストしました。まだクラッシュはありません。もう一つのことは、本当にパーミッション関連のクラッシュだった場合、私はこのケースではなかったクラッシュレポートで、パーミッションにエラーメッセージが表示されない全体を取得します。 – Isuru
また、私は、これらのエラーの2つの発生(それぞれ1つ)だけが報告されていることに注意する必要があります。他のユーザーには100%クラッシュフリーセッションがあります。 – Isuru