Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.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
Objective c 当用户加载应用程序时,未请求权限的推送通知_Objective C_Ios_Xcode - Fatal编程技术网

Objective c 当用户加载应用程序时,未请求权限的推送通知

Objective c 当用户加载应用程序时,未请求权限的推送通知,objective-c,ios,xcode,Objective C,Ios,Xcode,嗨,我刚刚发布了我的应用程序更新,其中添加了推送通知。我担心它不能正常工作,所以我做了一系列测试。首先是开发证书,然后是使用adhoc的生产证书。这两个项目都成功了,我很高兴这个项目成功了 无论如何,这个更新已经上线8个小时了,但由于某些原因,推送功能无法工作。我和我的朋友核实了一下,发现用户没有被问到是否愿意接受我的应用程序的推送通知。这意味着当令牌被发送到我的服务器时,它将显示为(null)。我不知道为什么会这样。当他进入设备设置-->通知-->我的应用程序不会出现在任何列表中(接收推送通知

嗨,我刚刚发布了我的应用程序更新,其中添加了推送通知。我担心它不能正常工作,所以我做了一系列测试。首先是开发证书,然后是使用adhoc的生产证书。这两个项目都成功了,我很高兴这个项目成功了

无论如何,这个更新已经上线8个小时了,但由于某些原因,推送功能无法工作。我和我的朋友核实了一下,发现用户没有被问到是否愿意接受我的应用程序的推送通知。这意味着当令牌被发送到我的服务器时,它将显示为(null)。我不知道为什么会这样。当他进入设备设置-->通知-->我的应用程序不会出现在任何列表中(接收推送通知或不接收)

这是我的委托中应触发请求的代码:

[[UIApplication sharedApplication] registerForRemoteNotificationTypes:
 (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];

如果有人知道为什么会发生这种情况,我们将不胜感激。谢谢

为推送通知配置应用程序并生成SSL证书后,还必须生成新的配置配置文件

开发者门户在应用程序ID配置页面上显示此消息:

生成客户端SSL证书后,创建一个新的配置文件,其中包含要用于通知的应用ID

如果在设置推送后未更新应用商店配置文件,则操作系统将不会向您提供推送令牌


如果这是您的问题,您只需要生成一个新的App Store分发配置文件,并提交一个使用该配置文件签名的重新编译版本。

我们认为我们遇到了同样的问题,但发现该应用程序实际上工作正常。即使用户卸载并重新安装应用程序,也只会提示用户一次

我们通过卸载应用程序然后重新安装来测试它。iOS会记住我们之前在该设备上的响应方式,不会再次提示导致我们认为存在问题


我们发现最好的测试方法是使用模拟器并执行“重置内容和设置”。

感谢海伯格的回复。我使用了一个我一直在使用的更新(所以是旧的),但该配置文件中使用的应用程序id是为生产推送设置的。我想这没关系吧?谢谢那是你的问题。您需要生成一个新的。操作系统将查看您的应用程序并说“此应用程序的配置文件未启用推送通知…我们将向他返回空令牌”。非常感谢您。。。这样一个愚蠢的错误,应该引起更多的注意。威尔:这是一个很好的观点,也正是我所看到的。显然,您可以通过将应用卸载一天来重置通知对话框。