2015-05-03 54 views
0

有沒有辦法使用類似推送通知的方式喚醒或啓動iOS或iOS應用程序?任何形式的信息,不勝感激。Xcode喚醒ios應用程序的命令(如推不)。

+0

聽起來完全像推送通知......怎麼不APN的解決這個問題? [這是Apple通知文檔的鏈接](https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/RemoteNotificationsPG.pdf)。 –

回答

0

是的,你可以通過點擊通知來設置推送通知來啓動你的不活動的應用程序。

您可以根據您的應用程序的需求註冊本地或遠程通知。

有在目標C特定功能以及夫特註冊本地/遠程推送通知。該功能必須在啓動時調用。所以在swift的情況下應該寫在App Delegate類的 application(_:didFinishLaunchingWithOptions:)方法上。

在此方法註冊接收遠程推送通知您必須通過Apple推送服務調用application.registerForRemoteNotifications()方法。

您可以設置類型的通知...這樣過來的斯威夫特所有代碼將是這樣的,

var type = UIUserNotificationType.Badge | UIUserNotificationType.Alert | UIUserNotificationType.Sound; 
var setting = UIUserNotificationSettings(forTypes: type, categories: nil); 
application.registerUserNotificationSettings(setting); 
application.registerForRemoteNotifications(); 

如果註冊成功,應用程序調用application(_:didRegisterForRemoteNotificationsWithDeviceToken:)方法,並將它的設備令牌。

處理遠程通知(該應用程序的委託方法被用來處理遠程通知):

application(_:didRegisterForRemoteNotificationsWithDeviceToken:) 
    application(_:didFailToRegisterForRemoteNotificationsWithError:) 
    application(_:didReceiveRemoteNotification:fetchCompletionHandler:) 
    application(_:handleActionWithIdentifier:forRemoteNotification:completionHandler:) 
    application(_:didReceiveRemoteNotification:) 

註冊以接收你必須調用application.registerForUserNotifications()方法本地推送通知。

處理本地通知(該應用程序的委託方法被用來處理本地通知):

application(_:didReceiveLocalNotification:) 
application(_:handleActionWithIdentifier:forLocalNotification:completionHandler:) 
+0

非常感謝您的回答。我會試試這個。你知道如果應用程序(如果沒有或完全沒有運行)可以在接收推送通知時開始後臺下載。 –

+0

是的,它可以通過*互動推送通知*。您可以在不打開應用程序的情況下從通知中執行任務。 – Pritam

相關問題