Cordova应用程序要求推送通知功能,即使它被禁用

时间:2015-07-07 09:23:39

标签: ios cordova apple-push-notifications

在查看我的Cordova应用程序的xcode设置时,我可以看到用于编译应用程序的命令包括-DDISABLE_PUSH_NOTIFICATIONS=1 ...看起来它会从构建中删除所有与推送通知相关的代码。

尽管如此,Apple还是向我们发送了一封邮件,要求我们make sure your App ID is enabled for Push Notification in the Provisioning Portal,因为显然我们正在使用该API。

考虑到DISABLE_PUSH_NOTIFICATIONS的定义,我不知道这是怎么回事。我正在使用Cordova 4.3.0,以及插件设备,对话框,inappbrowser,网络信息和启动画面。

2 个答案:

答案 0 :(得分:0)

我没有使用这个版本的Cordova(上次我使用过Cordova 3.6.0),但你应该检查你的应用程序委托是否存在以下一种(或多种)方法:

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

  • (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)错误

  • (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void(^)(UIBackgroundFetchResult result))handler

  • (void)application:(UIApplication *)application handleActionWithIdentifier:(NSString *)标识符 forRemoteNotification:(NSDictionary *)userInfo completionHandler:(void(^)(void))completionHandler

  • (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo

如果是,您可以:

  • 删除/他们

  • 使用#ifndef DISABLE_PUSH_NOTIFICATIONS ... #endif(你还应该在你的主项目中检查一下,不仅在子线索上,设置-DDISABLE_PUSH_NOTIFICATIONS)

答案 1 :(得分:0)

可能是您添加了一个需要使用推送通知的插件(例如,但不仅仅是cordova-plugin-mfp-push),因此即使您的项目中的推送通知已关闭,它仍然会根据需要显示。 或者您可能只需打开和关闭推送通知功能即可刷新Xcode权利。