2015-05-03 53 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

相关问题