didRegisterForRemoteNotificationsWithDeviceToken not called

cocos2d-x项目接入腾讯信鸽推送SDK遇到一个问题:didRegisterForRemoteNotificationsWithDeviceToken不被调用。

真是一个蛋疼的问题,参考了http://stackoverflow.com/questions/4086599/why-didregisterforremotenotificationswithdevicetoken-is-not-called
依然没有解决问题。

最后搞了半天,是因为cocos2d-x项目文件AppController.mm中didRegisterForRemoteNotificationsWithDeviceToken的签名如下:
- (void)didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)pToken

修改为:- (void)application:(UIApplication )application didRegisterForRemoteNotificationsWithDeviceToken:(NSData )pToken

即可解决问题。

同理,didFailToRegisterForRemoteNotificationsWithError方法签名由
- (void)didFailToRegisterForRemoteNotificationsWithError:(NSError *)error
修改为
- (void)application:(UIApplication )application didFailToRegisterForRemoteNotificationsWithError:(NSError )error

你可能感兴趣的:(Cocos2d-x手游研发)