Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS应用程序如何知道它是否必须注册APN?_Ios_Apple Push Notifications - Fatal编程技术网

iOS应用程序如何知道它是否必须注册APN?

iOS应用程序如何知道它是否必须注册APN?,ios,apple-push-notifications,Ios,Apple Push Notifications,我知道,当您的应用程序成功注册推送通知并获得设备令牌时,会调用DidRegisterForRemotionTificationsWithDeviceToken:(NSData*)deviceToken 根据Apple文档,设备令牌由客户端应用程序提供给您,客户端应用程序在向远程通知服务注册后接收令牌 我想知道应用程序如何知道是否必须在启动时注册远程通知服务。为了实现推送通知,您需要在application didFinishLaunchingWithOptions中编写以下内容 UIUs

我知道,当您的应用程序成功注册推送通知并获得设备令牌时,会调用
DidRegisterForRemotionTificationsWithDeviceToken:(NSData*)deviceToken

根据Apple文档,设备令牌由客户端应用程序提供给您,客户端应用程序在向远程通知服务注册后接收令牌


我想知道应用程序如何知道是否必须在启动时注册远程通知服务。

为了实现推送通知,您需要在application didFinishLaunchingWithOptions中编写以下内容

    UIUserNotificationType type=(UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge);
    UIUserNotificationSettings *settings=[UIUserNotificationSettings settingsForTypes:type categories:nil];
    [[UIApplication sharedApplication] registerUserNotificationSettings:settings];
    [[UIApplication sharedApplication]registerForRemoteNotifications];
除此之外,您还需要创建apns开发证书和启用推送通知服务的相应配置文件。当您在具有这些设置配置文件的设备中构建应用程序时,该设备将了解此应用程序已启用推送通知服务,并且该设备将提供一个警报您希望获得推送通知吗?
如果用户按ok,则只有didRegisterForRemoteNotificationsWithDeviceToken被激发,开发者可以获得deviceToken。

我自己查了一下-初始点正在开发人员门户中设置设置配置文件中启用的推送通知,该配置文件会触发指示,以注册应用程序以获取远程通知。

启动时将显示允许推送通知的弹出窗口。您的应用程序需要注册远程通知,或者不需要注册。这取决于您的应用程序要求。如果您能说出原因,让您了解应用程序是否必须注册为远程通知,我们可以更好地帮助您。@ebby94只有您遵循了我的问题!我想知道应用程序是否必须注册自己才能进行远程通知的唯一原因是要比其他起点更深一步,即
didRegisterForRemoteNotificationsWithDeviceToken
,我不明白为什么这个问题被否决了。如果做这件事的人解释为什么他/她觉得这是一个无效的问题,那就更好了。我认为OP只是想知道他的应用程序是否必须在他的代码中注册推送通知,而不是如何注册推送通知。根据@Reshmi的解释,我们能否得出结论,若我们构建了一个具有APNS证书和配置文件的应用程序,那个么这就是告诉我的应用程序注册到远程通知的原因?