我正在尝试设置 iOS 推送通知,过去 4 个小时我一直在兜圈子,但一无所获。
该应用程序是用 Swift 2.3 编写的。
我设置了 AppBoy 应用程序...
Appboy.startWithApiKey("blahblahblahblah", inApplication:application, withLaunchOptions:launchOptions)
我可以看到我创建的细分中有 iOS 应用的用户。
然后在代码中注册通知并使用此代码将设备令牌发送到 AppBoy...
extension NSData {
func hexString() -> String {
// "Array" of all bytes:
let bytes = UnsafeBufferPointer<UInt8>(start: UnsafePointer(self.bytes), count:self.length)
// Array of hex strings, one for each byte:
let hexBytes = bytes.map { String(format: "%02hhx", $0) }
// Concatenate all hex strings:
return hexBytes.joinWithSeparator("")
}
}
和这个...
func application(application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: NSData) {
let token = deviceToken.hexString()
Appboy.sharedInstance()?.registerPushToken(token)
}
但是,当我更新 AppBoy 中的 Segment 过滤器以按“Push Enabled”过滤时,我得到 0 个设备。(我什至不确定 Push Enabled 是否是正确的过滤器?)
作为次要问题。我上传到 AppBoy 的证书告诉我它是“通用证书”和最新的通知传递方法。这是上传到 AppBoy 的正确证书吗?
我使用我创建的细分创建了一个活动,它显示为已传递一条消息。
但无论我什么都不做,都会传到我的设备上。
我设备上安装的应用程序版本是通过 Crashlytics 下载和安装的。
谢谢
更新
好的,所以现在我让设备显示为“已启用推送”,但是当我尝试发送推送通知时,开发人员控制台中的错误日志显示“错误发送到错误的推送令牌......”
我的证书显示是这样的......
谁能解释我做错了什么?我遵循了每一个故障排除指南,并对设置进行了三次检查,并多次重做每一步。