我正在尝试创建一个 PushNotification 应用程序,并且我正在使用 PubNub。我已经完成了所有必要的步骤:
- 在我的工作空间中包含 PubNub 库
- 为应用创建适当的配置文件
- 确保 PushNotification 在配置文件中
- 为应用创建适当的 SSL 证书
- 将证书添加到钥匙串(keychain)访问
- 创建合适的 .pem 文件
- 已将文件上传到 PubNub
-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:( NSDictionary *)launchOptions
{
// #2 Register client for push notifications
NSLog(@" Options set");
[[UIApplication sharedApplication] registerForRemoteNotificationTypes: (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];
[PubNub setDelegate:self];
return YES;
}
在遇到一些初始编译错误后,我能够在我的设备上运行该应用程序。当我在我的设备上运行该应用程序时,我没有收到我认为应该收到的“...想要发送 Yo 推送通知”消息。我可以使用 PubNun 控制台发送消息,我看到消息是通过日志接收的,但我没有收到任何通知或横幅。我在 didFinishLaunchingWithOptions
方法中放置了一个 NSLog
,我在日志中看到了显示。
之后,我从设备中删除了该应用程序,从设备中删除了配置文件,重新启动了 Xcode,然后再次编译,结果相同。不确定接下来要尝试什么。
最佳答案
编辑:您遇到的具体问题与您通过 Xcode 运行应用程序这一事实有关,简而言之,您不能以这种方式测试生产推送通知,您必须使用沙盒推送服务器和证书。如果你想测试产品推送,你需要分发使用 Ad Hoc provisioning profile 签名的应用程序。我确信有上百万种方法可以做到这一点,但实际上我最喜欢的两种方法是使用 Testflight 和 Crashlytics 的新 Beta 功能,它允许您基本上使用单行就可以将临时构建分发到设备代码,一旦你归档一个新的构建就会自动。我会推荐 Crashlytics,因为它还会自动处理非常有用的分析和崩溃报告。
如果您指的是初始推送通知权限弹出窗口,那只会显示一次或应用程序的生命周期。我认为解决此问题的唯一方法是卸载 up 并保持卸载状态 3 天(我相信这是限制)。
很遗憾,我不熟悉 PubNub,但在您的应用程序中,您是否注册了推送通知并接收了设备 token ?
关于ios - didFinishLaunchingWithOptions 不显示初始警报 (PubNub),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25234760/