OneSignal iOS使用SDK 2.0.7发行“No Push Token”

我遇到来自OneSignal的一个奇怪的错误,并推送通知。 我有3个设备(2个iPhone,1个迷你iPad)。 完成推送通知的整个过程后,只有我的iPad从OneSignal接收推送通知。 我的所有设备都注册在我的开发者帐户,我发现最奇怪的情况是,我NSLOG的didRegisterForRemoteNotificationsWithDeviceToken ,看看每个设备连接收到一个令牌,他们都确实得到一个令牌,但由于某种原因,OneSignal没有。 只有iPad令牌。 唯一的区别是,我可以看到,iPad是9.3.2和两个iPhone 9.3.4。 所有设备上都安装了相同的应用程序,从AppDelegate调用oneSignal注册方法。 有没有人一直在努力解决这个问题呢? 我附上了我的oneSignal帐户的图像。 提前致谢。 OneSignal所有用户仪表板

那么最后一个星期删除和创build证书超过100次,configuration文件等我发现这个问题。 我正在使用Objective-C,所以有必要使用-ObjC标志。 转到项目>您的目标>构build设置>在search栏上写其他链接标志 ,该部分将出现,通过双击它,它将允许您添加-ObjC

在这里输入图像说明

没有这个标志,SDK不会注册DeviceToken。 另外,如果您使用的是Parse SDK, GoogleMaps SDK或Facebook SDK,则可能会产生冲突。 可能的解决scheme是:

  • parsing SDK(我不知道是否使用parsing服务器冲突出现):删除ParseCrashReporting ParseFacebookUtils ParseTwitterUtils

  • Facebook的 SDK(可能与新版本,这将不是必要的):删除theFBAudienceNetwork

  • GoogleMaps :基本上GoogleMaps SDK不能和-ObjC标志一起工作,所以我现在使用带有JSON响应的HTTP调用的WEB API。 (这一切都在GoogleMaps Developers网站上解释)

希望这能帮助那些像我一样挣扎的人。 请有关这个问题的任何问题毫不犹豫地问我。 我认为,现在我知道每一个可能的失败。

你是我的英雄。 我一直在为此奋斗一个月。 我甚至曾经跟OneSign谈过几次,他们不知道为什么会发生这种事情! 再次感谢!

这个问题已经在SDK的2.1.11版本中得到修复。 如果您使用CocoaPodspipe理SDK,请确保运行pod更新