2012-03-31 872 views
5

Xin chào Khi ứng dụng được cài đặt, nó sẽ yêu cầu người dùng cho phép gửi thông báo đẩy. Tôi đang thử nghiệm đơn đăng ký của mình. Nhưng sau khi gỡ bỏ nó khỏi thiết bị và sau đó cài đặt nó không còn yêu cầu sự cho phép. Làm cách nào để xóa các cài đặt này để lại yêu cầu quyền?Làm cách nào để xóa thông báo đẩy iOS ưu tiên cho ứng dụng của tôi?

Tôi cần nó để kiểm tra thông báo đẩy máy chủ.

+1

Xem [phản hồi của tôi] (http://stackoverflow.com/questions/6780795/reset-push-notification-settings-for-alert/10207040#10207040) cho một câu hỏi tương tự và hơn thế nữa về vấn đề nói chung trong [ một phản hồi khác] (http://stackoverflow.com/questions/10191006/objective-c-detect-when-user-change-the-apps-notifications-settings). Trong ngắn hạn có một thủ tục được vạch ra bởi Apple trong [lưu ý kỹ thuật TN2265] (http://developer.apple.com/library/ios/#technotes/tn2265/_index.html), nhưng có vẻ như nó không phải lúc nào cũng hoạt động. – Amiramix

+0

Câu trả lời được chấp nhận cho câu hỏi này đã lỗi thời. Xem câu trả lời của tôi dưới đây, làm việc mọi lúc cho tôi. –

+0

bản sao có thể có của [Đặt lại cài đặt thông báo đẩy cho ứng dụng] (http://stackoverflow.com/questions/2438400/reset-push-notification-settings-for-app) – BergQuester

Trả lời

4

hộp thoại cho phép thông báo đẩy iOS xuất hiện một lần sau 24 giờ .. vì vậy tất cả những gì bạn cần phải sửa đổi ngày của thiết bị theo cách thủ công và đặt thành 1 ngày sau ngày hộp thoại xuất hiện trên đó.

+0

Tôi sử dụng easyApns https://github.com/manifestinteractive/easyapns Có một bảng có ba trường: pushbadge, pushalert, pushsound Thử nghiệm trên một điện thoại, tôi đã nhấp vào "Cho phép", nhưng yêu cầu đến bàn ghi tất cả bị vô hiệu hóa, và vì vậy tôi đã làm bài kiểm tra lần thứ hai. – EndyVelvet

+0

Không hoạt động nữa – jjxtra

-1

Tôi đọc một lần rằng bạn phải xóa hoàn toàn ứng dụng khỏi thiết bị của mình và chờ 24 giờ sau đó cài đặt lại (tắt thiết bị hoàn toàn), theo cách này, nó sẽ yêu cầu bạn cấp lại quyền nhưng tôi chưa bao giờ đã thử điều đó. Dù sao tôi không nghĩ rằng bạn thực sự cần phải nhận được các quyền này một lần nữa, tại sao bạn sẽ cần điều đó?

5

Vui lòng thử sử dụng phương pháp - (void)unregisterForRemoteNotifications của UIApplication.

+0

Điều này không hiệu quả đối với tôi; tất cả các phương thức và phương thức ủy nhiệm được gọi, nhưng tôi vẫn không được nhắc đăng ký lại Thông báo Đẩy. Thử nghiệm trên iOS 7. – toblerpwn

-1

Như J S Rodrigues cho biết bạn có thể hủy đăng ký thiết bị của mình bất kỳ lúc nào. Tuy nhiên, tôi không chắc tại sao bạn lại cố gắng xin phép. Nếu bạn đang chạy APN trên máy chủ của riêng bạn, sau đó sau khi đăng ký thiết bị của bạn, mã thông báo thiết bị từ - (void) ứng dụng: (UIApplication *) app didRegisterForRemoteNotificationsWithDeviceToken: (NSData *) deviceToken phương pháp nên được đăng lên hệ thống APN của bạn, một lần và cho tất cả. Vì vậy, nếu bạn cố gắng kiểm tra xem mã thông báo thiết bị có thể được đăng lên hệ thống của riêng bạn hay không, phương pháp hủy đăng ký có thể cần thiết. Nếu không, không cần thiết để làm điều đó, vì mã thông báo được ghi lại trong hệ thống của bạn, bạn chỉ có thể xóa nó. Và mỗi khi ứng dụng được khởi chạy, một bản ghi mới sẽ được thêm vào hệ thống APN.

0

Chạy trên iOS 6.0, phương pháp "xóa và chờ 24 giờ" không hoạt động đối với tôi. Hủy đăng ký/lại mã thông báo thiết bị cũng không hoạt động, có vẻ như là lỗi trên phần của Apple. The technical note từ Apple được cập nhật lần cuối vào tháng 9 năm 2011 và đã lỗi thời.

Tôi chỉ có thể kích hoạt lại cảnh báo quyền bằng cách đặt lại hoàn toàn thiết bị. Điều này là khá đau đớn để thử nghiệm nhưng nó hoạt động.

Rất tiếc, không có cách nào yêu cầu người dùng thực hiện việc này nếu họ thay đổi ý định nhận thông báo đẩy từ ứng dụng của bạn, vì vậy hãy đảm bảo bạn yêu cầu quyền vào thời điểm tốt nhất có thể.

1

này chỉ làm việc cho tôi trong iOS7:

  • Xóa ứng dụng của bạn từ thiết bị.

  • Tắt thiết bị hoàn toàn và bật lại.

  • Chuyển đến Cài đặt> Chung> Ngày & Thời gian và đặt ngày trước một ngày trở lên.

  • Tắt thiết bị một lần nữa và bật lại.

  • Cài đặt lại ứng dụng

5

Bạn có thể như thấy ở đây: https://developer.apple.com/library/mac/technotes/tn2265/_index.html như dưới đây.

Đặt lại thông báo cảnh báo quyền thông báo đẩy trên iOS Lần đầu tiên ứng dụng hỗ trợ đẩy đăng ký thông báo đẩy, iOS sẽ hỏi người dùng xem họ có muốn nhận thông báo cho ứng dụng đó hay không. Khi người dùng đã phản hồi cảnh báo này, nó sẽ không được hiển thị lại trừ khi thiết bị được khôi phục hoặc ứng dụng đã được gỡ cài đặt trong ít nhất một ngày.

Nếu bạn muốn mô phỏng lần chạy ứng dụng lần đầu, bạn có thể để ứng dụng gỡ cài đặt trong một ngày. Bạn có thể đạt được sau này mà không thực sự chờ đợi một ngày bằng cách làm theo các bước sau:

Xóa ứng dụng của bạn khỏi thiết bị. Tắt thiết bị hoàn toàn và bật lại. Chuyển đến Cài đặt> Chung> Ngày & Thời gian và đặt ngày trước một ngày trở lên. Tắt thiết bị một lần nữa và bật lại.

+1

Khá thân thiện với nhà phát triển. –