【问题标题】:EXC_BAD_ACCESS with GCM 3.0使用 GCM 3.0 的 EXC_BAD_ACCESS
【发布时间】:2015-09-10 05:38:12
【问题描述】:

我正在尝试将 GCM v3 集成到 cocos2d-x v3.6 项目中,经过几天的使用 CocoaPods 和 Xcode 的工作,我终于能够构建应用程序。但是,当部署在设备上进行测试时,它会在调用 [[GGLInstanceID sharedInstance] tokenWithAuthorizedEntity:_gcmSenderID scope:kGGLInstanceIDScopeGCM options:_registrationOptions handler:_registrationHandler] 时崩溃,并出现错误 EXC_BAD_ACCESS。什么给了?

截图:http://i.imgur.com/s0HnxTp.png

我的配置如下:

daffodilistic$ pod --version 0.39.0.beta.4 daffodilistic$ cat Podfile platform :ios, '8.1' source 'https://github.com/CocoaPods/Specs.git' target 'project-redacted iOS' do pod 'Google/CloudMessaging' end target 'project-redacted Mac' do end

【问题讨论】:

标签: ios objective-c google-cloud-messaging cocos2d-x cocos2d-x-3.0


【解决方案1】:

我成功地调试并解决了异常 - 显然,这是由前面根据 Google's sample GCM v3 code for iOS 声明的 @property(nonatomic, retain) void (^registrationHandler) 块属性指向的 NULL0x00000000 值引起的。至于是 Xcode、iOS 还是 cocos2d-x 导致块声明被取消引用/解除分配,我不确定。

解决方案是将(^registrationHandler) block declaration

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken

相关的 SO 链接很有用,但不是很重要:unable to register (com.google.iid error 1005.)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多