10

Tôi có một ứng dụng khá đơn giản phân tích nguồn cấp dữ liệu RSS và hiển thị nội dung của nó trong chế độ xem bảng. Nó có sẵn trên App Store. Tôi đã tích hợp báo cáo sự cố Crashlytics. Gần đây tôi đã nhận được hai báo cáo. Đây là một chút khó giải mã.Đã bị lỗi: com.apple.root.default-qos

Điều này đã xảy ra trong iPhone 6 chạy iOS 10.2.1.

enter image description here

Đây là từ iPhone 5 chạy iOS 10.2.1.

enter image description here

Mặc dù nó nói nó bị rơi do vi phạm quyền riêng tư, tôi không truy cập vào bất kỳ dịch vụ đòi hỏi phải có sự cho phép trong ứng dụng của tôi.

Cũng tìm kiếm trên com.apple.root.default-qos dẫn tôi tin rằng điều này có thể liên quan đến chủ đề nền. Nơi duy nhất tôi sử dụng chuỗi nền là phân tích cú pháp dữ liệu nguồn cấp dữ liệu 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() } 
    } 
} 

tôi kiểm tra mã này trên iPhone của tôi 5 chạy iOS 9.3.5 và mô phỏng chạy iOS 10,2 nhưng không có vụ tai nạn xảy ra.

Có cách nào khác để theo dõi vấn đề này không?

+1

Điều này có vẻ như vấn đề quyền, bạn có chắc chắn bạn không sử dụng thứ gì đó yêu cầu quyền và thiết bị bạn đang thử nghiệm đã cấp quyền đó không? Xem [this] (http://stackoverflow.com/a/39416858/1305067) và [this] (http://stackoverflow.com/questions/41011660/app-crashes-when-running-on-iphone-with- vi phạm ngoại lệ). Ngoài ra, đây là [danh sách quyền của Apple] của Apple (https://developer.apple.com/library/content/qa/qa1937/_index.html). – paulvs

+0

Tôi đã kiểm tra lại mọi thứ. Trong thiết bị của tôi, dữ liệu Cellular thông thường được bật trong Cài đặt và chính là nó. Vì thiết bị của tôi vẫn còn trong iOS 9, tôi đã thử nghiệm lại điều này bằng cách đặt lại trình mô phỏng chạy iOS 10.2 và cài đặt lại ứng dụng. Vẫn không có sự cố. Một điều nữa là, nếu nó thực sự là một sự cố liên quan đến sự cho phép, tôi sẽ nhận được toàn bộ sự cho phép nào bị thiếu thông báo lỗi với báo cáo sự cố mà tôi không có trong trường hợp này. – Isuru

+0

Và tôi cũng nên lưu ý rằng chỉ có hai lần xuất hiện (một trong mỗi lỗi) được báo cáo. Những người dùng khác đang gặp phải 100% phiên bị lỗi miễn phí. – Isuru

Trả lời

3

Tôi sẽ kiểm tra lại tất cả các quyền của bạn. Trong trường hợp của tôi, bắt đầu với iOS10, bạn cần có quyền để lưu nội dung vào thư viện ảnh của người dùng. Trong ứng dụng của tôi, tôi đã hiển thị một bảng chia sẻ mặc định và bất cứ khi nào người dùng chọn "lưu ảnh", ứng dụng bị lỗi với một trong những thông báo lỗi rất không hữu ích này. Tôi thêm

<key>NSPhotoLibraryAddUsageDescription</key> 
    <string>Allow you to save charts and graphs from the app to your phone.</string> 

để info.plist tôi, clean & run. Và mọi thứ vấn đề đã được giải quyết.

Các vấn đề liên quan