ios - didFinishLaunchingWithOptions 不显示初始警报 (PubNub)

标签 ios objective-c push alert pubnub

我正在尝试创建一个 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/

相关文章:

objective-c - Box2D - b2body GetUserData 始终返回 null

git - git push origin HEAD 和 git push origin [current-branch-name] 有什么区别?

javascript - 使用 push() 后,数组被记录为数字

ios - Xcode Swift 3 数据不会发布到 Firebase

ios - 中断执行 AFHTTPRequestOperation

ios - 通过 MFMailcomposeController 发送时在 sqlite 中发现空数据

ios - 使 UICollectionViewCell 的一部分不可点击

iphone - 使用 GKMatch 的 Game Center Multiplayer 但似乎无法连接

objective-c - UIStatusBar 在 UITabBarViewController ios11 中显示为黑色

php - 解析 Json 对象 PHP