簡體   English   中英

iOS 6:推送通知

[英]ios 6: push notifications

我正在按照本教程創建我的第一個推送通知,然后逐步進行了所有工作,直到我在設備上運行應用程序,我都沒有收到“ MyApp”想要發送的警報您推送通知,但在設置->通知中心中看不到myApp

我已經像教程中所說的那樣添加了appdelegate.m中的以下代碼:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{     
    // Let the device know we want to receive push notifications
    [[UIApplication sharedApplication] registerForRemoteNotificationTypes:
     (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];
}

但是當我嘗試找出在我的第一個viewDidLoad使用此行代碼啟用的推送通知類型時

UIRemoteNotificationType enabledTypes = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];

我正在獲取UIRemoteNotificationTypeNone

有任何想法嗎?

您必須確保您的應用程序(在開發人員門戶中)已設置為推送通知;

  1. 轉到Apple Developer Portal
  2. 轉到標識符
  3. 選擇應用程序ID
  4. 選擇您的應用並檢查是否已設置推送通知

如果您為應用程序啟用了推送通知,則需要重新生成配置文件,以便其中包含推送證書詳細信息。 此外,還要確保您在鑰匙串中擁有用於推送通知的開發人員證書

如果您尚未為應用啟用推送通知,則需要創建用於開發和生產的推送證書。 在創建(並在鑰匙串中安裝了推送證書)之后,您將需要重新生成預配配置文件,使其包含推送證書詳細信息。

刪除舊的Provisioning文件並安裝新的Provisioning文件,您將收到警報以允許pushNotifications

這些是解決我的問題的步驟(盡管我不知道為什么問題首先發生在這里)

  1. 在XCode中,轉到窗口->組織器->右面板上的設備,選擇配置文件->選擇您的配置,然后單擊刪除。
  2. 在構建設置中,請確保將您的代碼簽名身份設置為iphone開發人員,而不是特定的設置
  3. 關閉XCode
  4. 在finder中,轉到〜/ Library / MobileDevice / Provisioning Profiles->刪除或重新定位現有的資源調配(如果您有多個項目,請當心)
  5. 打開終端並刪除mobileprovision文件(如果仍有)。
  6. 轉到https://developer.apple.com/account/ios/profile/profileList.action- >設置配置文件->再次全部下載您的mobileprovision文件
  7. 將您的mobileprovision文件復制到〜/ Library / MobileDevice / Provisioning Profiles
  8. 打開XCode,直接在XCode組織器中添加您的mobileprovision
  9. 生成並運行您的應用程序
  10. 我終於看到了笑容,並調用了didRegisterForRemoteNotificationsWithDeviceToken函數:)

注意viewDidLoad帶有UIRemoteNotificationType enabledTypes = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];的行UIRemoteNotificationType enabledTypes = [[UIApplication sharedApplication] enabledRemoteNotificationTypes]; stil返回UIRemoteNotificationTypeNone我猜測是在爭用條件下,在設置通知之前,所有東西都是異步的。

暫無
暫無

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

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