2010-08-27 27 views
7

Đang cố gắng để làm việc xung quanh một vài trường hợp góc khi thông báo đẩy bị từ chối trong ứng dụng và tôi có hai câu hỏi:Đẩy Notifications Quyền

1) Có cách nào để thiết lập lại cho dù người dùng đã nhìn thấy các cửa sổ pop yêu cầu thông báo lên?

2) Có cách nào để xác định xem người dùng có nói không với yêu cầu thông báo không?

Trả lời

5

1) Không, trừ khi có một số API tin nào đó, nhưng điều đó không được phép bởi Apple

2) Lần đầu tiên ứng dụng của bạn được khởi động, sau khi gọi registerForRemoteNotificationTypes, bạn có thể kiểm tra xem didRegisterForRemoteNotificationsWithDeviceToken được gọi là. Nếu không, người dùng nói "Không, cảm ơn".

+0

1) Những gì tôi nghĩ. .. càu nhàu 2) vấn đề duy nhất với đó là khoảng thời gian giữa registerForRemoteNotificationTypes và didRegisterForRemoteNotificationsWithDeviceToken là không xác định. Tôi có thể kiểm tra nó trên lối ra ứng dụng, nhưng tôi không chắc chắn nếu người dùng thậm chí phải thực hiện một sự lựa chọn trước khi thoát. Ngoài ra, người dùng có thể thay đổi quyền thông báo trong Cài đặt và tôi không thể phát hiện thay đổi đó. –

5

Bạn luôn có thể kiểm tra tình trạng của các điều khoản nếu người dùng thay đổi chúng, bạn có thể kiểm tra chúng trên applicationDidBecomeActive

- (void)applicationDidBecomeActive:(UIApplication *)application 
{ 
    if ([[UIApplication sharedApplication] respondsToSelector:@selector(isRegisteredForRemoteNotifications)]) { 
     if ([[UIApplication sharedApplication] isRegisteredForRemoteNotifications]){ 
      NSLog(@"Notifications Enabled ios 8"); 
     } else { 
      NSLog(@"Notifications not Enabled ios 8"); 
     } 
    } else { 
     UIRemoteNotificationType types = [[UIApplication sharedApplication] enabledRemoteNotificationTypes]; 
     if (types & UIRemoteNotificationTypeAlert) 
     { 
      NSLog(@"Notifications Enabled"); 
     } 
     else 
     { 
      NSLog(@"Notifications not Enabled"); 
     } 
    } 

} 

cập nhật để làm cho nó làm việc trên iOS 8 quá

+0

Từ tài liệu, có vẻ như điều đó sẽ được đặt nếu bạn yêu cầu quyền cảnh báo, ngay cả khi người dùng đã tắt cảnh báo cho ứng dụng của bạn. –

+0

Tôi không hiểu ý của bạn, điều này không đặt bất cứ điều gì, chỉ cần kiểm tra trạng thái cho phép – jcesarmobile

+0

Tôi đã nghĩ rằng nó sẽ báo cáo các quyền mà bạn đã yêu cầu đăng ký trước đó, nhưng trong các bài kiểm tra tiếp theo, tôi nghĩ bạn đúng, nó chỉ báo cáo các quyền mà hệ thống đã cấp. –

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