Không có đại biểu. Bạn cần truy vấn thuộc tính UIApplication
enabledRemoteNotificationTypes
định kỳ, ví dụ: applicationDidBecomeActive:
.
Để biết chi tiết kiểm tra các câu trả lời:
Determine on iPhone if user has enabled push notifications
View In Lock Screen and enabledRemoteNotificationTypes - iOS5
Edit:
Nếu bạn cần phải thiết lập lại các cài đặt thông báo push và cảnh báo cho phép, có một cái nhìn tại Apple technical note TN2265 . Trong phần "Đặt lại thông báo cấp quyền thông báo đẩy trên iOS" chúng giải thích cách đặt lại cài đặt trên iOS. Tuy nhiên, nhiều nhà phát triển phàn nàn rằng quy trình không hoạt động. Không chắc chắn nếu this link sẽ hoạt động, bạn sẽ cần phải có quyền truy cập vào diễn đàn Apple, nhưng nó là một trong những chủ đề về vấn đề chính xác này.
Tôi tự hỏi liệu Apple có thể xóa hộp thoại cấp phép trong iOS 5.1 hay không. Nếu không, tại sao họ yêu cầu ứng dụng hiển thị cảnh báo? Theo AppStore review guidelines:
5.3 Apps sở hữu gửi thông báo đẩy mà không được sử dụng đồng ý sẽ bị từ chối
Ví dụ đường dẫn (ứng dụng) yêu cầu người dùng chọn sử dụng để thông báo push ở giữa của hát-up quá trình, không phải khi ứng dụng bắt đầu lần đầu tiên.
Bạn không chắc chắn mục đích của lời nhắc là gì vì ứng dụng không thể truy vấn trạng thái của cài đặt thông báo. Đặc biệt, ứng dụng có thể kiểm tra loại thông báo nào (sử dụng enabledRemoteNotificationTypes
) được bật nhưng KHÔNG nếu thông báo đẩy cho một ứng dụng cụ thể được bật hoặc tắt (nút bật/tắt Trung tâm thông báo ở trên cùng). Ít nhất đó là hành vi trong iOS 5.1. Ngay cả khi người dùng vô hiệu hóa thông báo cho ứng dụng đó, ứng dụng vẫn có thể đăng ký các thông báo đẩy (sử dụng registerForRemoteNotificationTypes
) và S receive nhận được mã thông báo APNS.
cảm ơn :) bạn có biết tôi nên làm gì để có được hộp "pop cho phép ứng dụng này" mà người dùng nhận được khi lần đầu khởi chạy ứng dụng? Tôi cần nó để gỡ lỗi các kịch bản khác nhau, tôi đã cố gắng xóa ứng dụng và cài đặt lại nhưng không có hộp bật lên ... – Eyal
Tôi đã chỉnh sửa câu trả lời để bao gồm một số liên kết hữu ích. Tuy nhiên nhiều nhà phát triển phàn nàn rằng các thủ tục như được vạch ra bởi Apple không hoạt động. Tôi chưa bao giờ thấy hộp thoại cho phép khi phát triển ứng dụng của mình vì vậy tôi thậm chí không biết nó tồn tại cho đến khi đọc một số bài đăng từ các nhà phát triển khác. – Amiramix
Phần cuối không đúng, ít nhất là trên iOS 7, enabledRemoteNotificationTypes chỉ dành cho ứng dụng của bạn và nếu người dùng đặt thông báo là không, bạn sẽ không nhận được mã thông báo APN. – jcesarmobile