簡體   English   中英

在iOS5中重置推送通知權限設置

[英]Reset push notification permission setting in ios5

我正在開發一個使用推送通知的應用程序,並在裝有iOS 5.1.1的設備上進行測試。 我想測試在應用程序首次運行期間提示用戶有關推送通知的情況。 該對話框是我第一次調用registerForRemoteNotificationTypes時出現的,但是即使從頭開始重新安裝該應用程序,也不會再次出現。 如何清除設置,以便對話框再次出現?

之前的評論中也發布了相同的問題,但答案不適用於iOS 5或更高版本。

Apple的文檔說要卸載該應用程序並弄亂時鍾,以使其看起來好像該應用程序已被卸載了一天,但這在iOS5上不起作用。

另一個答案建議運行“常規”->“重置”->“擦除所有內容和設置”-我嘗試了此操作,但是它凍結了我的設備,導致我不得不重新開機。 無論如何,這是一個繁重的解決方案,對於測試來說是不實際的。

另一個答案建議從/private/var/mobile/Library/RemoteNotification/Clients.plist中刪除應用程序的條目,但是此文件在iOS5上不存在。

有沒有辦法在iOS5上做到這一點?

我發現了一個可以越獄的解決方案:

  • 使用類似iFile的應用程序通過屬性列表查看器打開文件/var/mobile/Library/SpringBoard/applicationstate.plist
  • 找到您應用的捆綁包標識符,然后刪除密鑰SBRemoteNotificationClient
  • 重新啟動SpringBoard-重新啟動設備,SSH到設備並運行killall SpringBoard ,或使用Respring應用程序。

下次運行應用程序時,它將再次顯示通知權限對話框。

我已經在iOS 5.1.1上進行了測試。

如果您的iOS 5和iOS 6的代碼路徑沒有太大不同,最簡單的選擇可能就是測試iOS 6上的特定行為-您在iOS 5上獲得的回調應該足夠相似,這樣才不會成為問題。

或者,更改應用程序的捆綁ID。 有點乏味(在過去,我需要重新啟動Xcode來注意bundle ID的更改),並且您將需要一個通配符配置概要文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM