我正在面对来自OneSignal和推送通知的奇怪错误。我有3个设备(2个iPhone,1个迷你iPad)。完成推送通知的整个过程后,只有我的iPad收到来自OneSignal的推送通知。我的所有设备都在我的开发者帐户中注册,我发现最奇怪的情况是我在NSLOG didRegisterForRemoteNotificationsWithDeviceToken
看看每个连接的设备是否收到令牌而且他们都确实得到了令牌但由于某种原因OneSignal没有& #39;吨。只有iPad令牌。我能看到的唯一区别是iPad是9.3.2,两款iPhone都是9.3.4。所有设备上都安装了相同的应用程序,从AppDelegate
调用oneSignal注册方法。有没有人一直在努力解决这个问题?我附上了我的oneSignal帐户的图片。提前致谢。
OneSignal All Users dashboard
答案 0 :(得分:1)
最后,经过一周的删除和创建证书超过100次,配置配置文件等,我发现了问题。 我使用的是 objective-c ,因此必须使用 -ObjC 标志。 转到项目>你的目标>构建设置>在搜索栏上写下其他链接器标记,该部分将出现并通过双击它,它将允许您添加 -ObjC
如果没有此标志,SDK将不会注册DeviceToken。 此外,如果您使用 Parse SDK或 GoogleMaps SDK或 Facebook SDK,则可能会发生冲突。可行的解决方案是:
解析 SDK(我不知道使用解析服务器是否出现冲突):删除ParseCrashReporting ParseFacebookUtils ParseTwitterUtils
Facebook SDK(可能使用新版本,这不是必需的):删除theFBAudienceNetwork
GoogleMaps :基本上GoogleMaps SDK无法使用 -ObjC 标志,因此我现在使用带有JSON响应的HTTP调用的WEB API。 (这一切都在GoogleMaps Developers网站上进行了解释)
希望这会帮助那些像我一样挣扎的人。 如有任何关于此主题的问题,请随时向我询问。我认为现在我知道每一件事都可能失败。
答案 1 :(得分:0)
你是我的英雄。我一直在为此苦苦挣扎一个月。我甚至多次与OneSignal谈过它,他们不知道为什么会发生这种情况!再次感谢!
答案 2 :(得分:0)
此问题已在SDK的2.1.11版本中修复。如果您使用CocoaPods管理SDK,请务必运行 pod更新。