Asked Dec 8th, 2018 7:56 a.m. 80 0 2
  • 80 0 2
0

Custom Screen tắt và bật cho phép nhận thông báo iOS

Share
  • 80 0 2

Hiện tại, em muốn custom lại chứ năng bật và tắt nhận thông báo. Kèm theo subscribe(toTopic: "google_firebase") và unsubscribe(fromTopic: "google_firebase") . Nhưng khi em check authorizationStatus thì báo lỗi main thread.

Hình ảnh bên dưới là code của em.

Hình ảnh bên dưới là phần output ra lỗi ạ!

Mong nhận được sự hỗ trợ của mọi người! Em cảm ơn trước ạ! Chúc mọi người cuối tuần vui vẻ ạ!

2 ANSWERS


Answered Dec 11th, 2018 12:36 a.m.
Accepted
+2

Theo như tài liệu từ apple (https://developer.apple.com/documentation/usernotifications/unusernotificationcenter/1649524-getnotificationsettings) thì phần completionHandler đang chạy ở dưới background thread

Parameters

completionHandler

The block to execute asynchronously with the results. This block may be executed on a background thread. The block has no return value and takes the following parameter:

Ở phần case denied của bạn đang gọi showAlert có gọi UIView.animate. Những gì thay đổi trên View thì bạn phải gọi ở main thread, nếu không sẽ bị crash (từ iOS11 trở đi thì phải)

Đề fix thì bạn chỉ cần cho đoạn show alert kia vào main thread là xong

DispatchQueue.main.async {
    self?.showAlertMessage("")
}
Share
Answered Dec 15th, 2018 10:20 a.m.
+1

Simulator ko hỗ trợ PN nhé bạn, build ra device thật ấy

Share
Viblo
Let's register a Viblo Account to get more interesting posts.