我正在尝试将Google Cloud Messaging集成到我的iOS应用程序中。我已按照this link中提供的每条说明进行操作。
我还整合了Google登录功能,但效果很好。
问题是我在下面的代码中遇到断言失败。
NSError* configureError;
[[GGLContext sharedInstance] configureWithError:&configureError];
NSAssert(!configureError, @"Error configuring Google services: %@", configureError);
用于配置云消息传递的子规范。
上面的代码位于didFinishLaunchingWithOptions
文件中的AppDelegate.m
方法。
产生的错误是:
由于未捕获的异常终止应用' NSInternalInconsistencyException',原因:'配置Google服务时出错:错误域= com.google.greenhouse代码= -104"无法正确配置subspec CloudMessaging" UserInfo = {NSLocalizedDescription =无法正确配置子规范CloudMessaging,NSLocalizedFailureReason = GCM发件人ID不得为空或空。
现在我不明白这个错误的含义。是的,它明确指出发件人ID不能为零。但是它从哪里得到空ID。
我在模拟器中测试了这个。我不知道这是否会影响。
如果我评论此代码并在真实设备中运行,我也会获得注册令牌,但我没有收到来自我服务器的任何通知。服务器端代码经过测试,适用于Android。
答案 0 :(得分:0)
最后我解决了这个问题。首先,谢谢大家的快速回复。 我所做的是在以下步骤中解释的。
pod try google
没有列出GCMExample项目。从here生成GoogleServices-Info.plist文件
比较GCMExample和MyProject的plist文件。
我在这里得到了不同之处。在我的项目中,GCM已禁用,并且其中没有发件人ID。我不知道到底发生了什么事。 所以我手动设置启用GCM服务并添加我之前创建的应用程序的发件人ID。
这就是我解决问题的方法。
答案 1 :(得分:-1)
检查下面的链接以获取证书
确保您正确执行以下步骤