【发布时间】:2016-11-19 18:50:51
【问题描述】:
我正在尝试设置 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 下载和安装的版本。
谢谢
更新
好的,所以现在我的设备显示为“已启用推送”,但是当我尝试发送推送通知时,开发者控制台中的错误日志显示“错误发送到错误的推送令牌...”
我的证书是这样显示的...
谁能解释我做错了什么?我已按照每个故障排除指南进行了三次检查,并多次检查了设置并重做了每个步骤。
【问题讨论】:
-
我没用过AppBoy,但是看中的描述。屏幕截图似乎如果您上传通用证书,他们将使用生产网关。也许您需要上传旧式开发证书才能让他们使用开发网关?
-
@Paulw11 谢谢。最后,我设法让它与开发证书一起工作。这两种方法我都尝试过很多次,但由于某种原因,我最后一次尝试它成功了。
标签: ios apple-push-notifications swift2.3 appboy