我无法在Swift中执行Google Cloud Messaging。使用GCMExample作为 objective-c 时,我得到了注册 token ,但是当我尝试运行Swift的GCMExampleSwift时,却出现了错误。我为Objective C和Swift使用相同的“GoogleService-Info.plist”。

2015-10-26 17:31:59.834 GcmExampleSwift [360:51727]配置
文件“GoogleService-Info.plist”用于另一个捆绑包标识符
('com.XXXXXX.mobility.appfactory.dev1.social')。使用此文件
服务可能未正确配置。继续这个
配置文件,您可以将应用的捆绑包标识符更改为
“com.XXXXXX.mobility.appfactory.dev1.social”。或者您可以下载一个
与您的捆绑包标识符匹配的新配置文件
https:/ 2015-10-26 17:31:59.836 GcmExampleSwift [360:] App
测量v.1100000开始于2015-10-26 17:31:59.843
GcmExampleSwift [360:51727]已成功配置[CloudMessaging]。
2015-10-26 17:31:59.843 GcmExampleSwift [360:51727]无法配置
[]。 2015-10-26 17:31:59.843 GcmExampleSwift [360:51727]子规格不
目前,因此未配置[Analytics,AdMob,SignIn,AppInvite,
地图]。 2015-10-26 17:31:59.843 GcmExampleSwift [360:51727]子规格
预期会存在[CloudMessaging,Measurement]。 2015-10-26
17:31:59.936 GcmExampleSwift [360:]网络状态为
改变了。代码,状态:2,已连接2015-10-26 17:31:59.977:
GGLInstanceID |在缓存中找不到 token 错误
Domain = com.google.iid代码= -25300“(空)”注册到GCM失败
错误:操作无法完成。
(com.google.HTTPStatus错误401。)2015-10-26 17:32:01.053
GcmExampleSwift [360:51727]-更改
仅转换层中的属性masksToBounds将无效
2015-10-26 17:32:01.053 GcmExampleSwift [360:51727]-在仅转换中更改属性masksToBounds
层,将无效2015-10-26 17:32:01.053
GcmExampleSwift [360:51727]-更改
仅转换层中的属性masksToBounds将无效

最佳答案

似乎GoogleService-Info.plist中的包ID与目标中的包ID不匹配。

首先,您需要将GoogleService-Info.plist文件添加到正确的目标,如果尝试使用GcmExampleSwift,则应选择它作为目标:

ios - Swift Bundle ID错误中的GCM-LMLPHP

然后,在GoogleService-Info.plist文件中,如果要使用com.XXXXXX.mobility.appfactory.dev1.social作为捆绑包ID,请确保正确输入了BUNDLE_ID密钥:

ios - Swift Bundle ID错误中的GCM-LMLPHP

最后,在目标中,请确保首先选择GcmExampleSwift(而不是目标-C目标的GcmExample),然后使Bundle IdentifierBUNDLE_ID文件中的GoogleService-Info.plist匹配:

ios - Swift Bundle ID错误中的GCM-LMLPHP

关于ios - Swift Bundle ID错误中的GCM,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33361326/

10-12 02:43