2011-11-07 63 views
15

enter image description here如何顯示「想要向您發送推送通知」警報查看?

註冊遠程通知後,我能夠顯示類似上圖的警報視圖。 但是,當我刪除我的項目應用程序,並再次構建它,它不會再顯示。

是否有機會再次向同一設備顯示警報視圖?

我喜歡的是再次獲取我的設備令牌,因爲我無法將設備令牌臨時存儲在NSUserDefaults中。

回答

7

啓動時,您的應用程序應該通過被請求令牌:

- (void)registerForRemoteNotificationTypes:(UIRemoteNotificationType)types 

,並在委託消息得到令牌從iOS設備上:

– application:didRegisterForRemoteNotificationsWithDeviceToken: 

,iOS將提示用戶允許的通知只有在必要時。如果遠程通知已獲得應用授權,則不會顯示警報,您的應用將獲得有效的令牌。

網絡是你不能強制警報,但你不需要。

+0

將我的應用程序總是這種方法中得到 - 應用:didRegisterForRemoteNotificationsWithDeviceToken:在啓動時?在家裏還不能測試,明天工作時會檢查 – bluezald

+3

你總是會得到'application:didRegisterForRemoteNotificationsWithDeviceToken:'或'application:didFailToRegisterForRemoteNotificationsWithError:' – XJones

+0

我看到了,我得到了這個錯誤,沒有有效的'aps-environment ,無論如何謝謝你的答案:D – bluezald

3

是的。

http://developer.apple.com/library/ios/#technotes/tn2265/_index.html

如果你想模仿你的應用程序的第一次運行,你可以離開卸載了一天的應用程序。您可以實現後者,而無需等待一天,方法是將系統時鐘設置爲一天或更長時間,將設備完全關閉,然後重新打開設備。

+0

這似乎不工作了...... – jwhat

+0

顯然這是打破了,並與蘋果公司已經打開了一個錯誤報告。 – perezda

+1

蘋果說,這隻適用於iOS <5(即<= 4. *)目前還不清楚它們是否意味着時鐘設置技巧只適用於iOS <5,或卸載一天只適用於iOS <5 – rjmunro

11

尋址根據需要進行測試呈現推送通知權限對話框再次的問題 - 這當然是一種解決方法,但這裏有雲:

擁有對使用推送通知的廣泛應用剛剛完成工作,並具有嘗試了所有通常的排列,但沒有成功......我最終意識到,解決該問題最簡單的方法是讓設備僅用於測試(即低端iPod Touch)。

要重置對話框,請執行設置>常規>重置>清除所有內容和設置。通過設備的設置過程,重新安裝應用程序並轉到。

這是我發現在開發/測試過程中根據需要測試「首次啓動」體驗的唯一方式。它還爲該過程增加了許多額外的多功能性。

不應該需要訴諸所有這些,但我很高興我做到了,因爲它變成了真正的天賜之物。 FWIW。

[P.S.它可能在將來用於測試操作系統的測試版本等也會很方便。]

+2

有一個更好的方法來做到這一點 - https://developer.apple.com/library/ios/technotes/tn2265/_index.html滾動到該技術說明的底部(「重置iOS上的推送通知權限警報」)以查看說明用於在不重置設備的情況下重置推送通知權限。如果您不能使用專用的開發設備,並且不希望每次都重置您的個人設備,這非常有用。 – Sid

+1

這與@ Sid的評論相結合是正確的答案。我在sid引用的鏈接上跟蹤了這個過程,我能夠重複顯示警報。雖然擦除所有內容和設置更實用,但並非每個人都有可用於測試的iDevice。 – Chris

3

臨時更改包ID。

com.mycompany.app - > com.mycompany.app1

+0

我發現這是一種反覆測試您的應用程序的簡單方法,而不是開啓設備並設置不同的日期。 – fahrulazmi