【问题标题】:Cordova how to remove "Push notification" on iOSCordova 如何在 iOS 上删除“推送通知”
【发布时间】:2014-09-20 23:31:06
【问题描述】:

我使用 Apache Cordova 向 Apple Store 提交了我的应用程序,但我收到了来自 Apple 的“缺少推送通知权利”的警告。

但我似乎从未在我的应用程序中使用过“推送通知”。如何从我的应用程序中删除它?它是 Apache Cordova 中的默认设置吗?

【问题讨论】:

  • 请列出您正在使用的插件和cordova版本

标签: ios cordova push-notification feedback


【解决方案1】:

这封电子邮件非常含糊,可以通过多种方式获取,而且如果您是新开发者,您可能不知道 Apple Store 应用程序审核的等待时间。见AppReviewTimes

澄清:这只是一个警告,如果你不使用推送通知,你可以忽略它。

不要试图修复没有损坏的东西。再加上我能找到的所有解决方案都不起作用。

【讨论】:

    【解决方案2】:

    如何“正确”地为 CORDOVA 应用程序执行此操作:

    我也有这个问题。 @michaelb 提出的解决方案有效,但我很沮丧看到整个事情都包含在条件编译中(即#ifndef DISABLE_PUSH_NOTIFICATIONS),我决定学习如何添加一个“预处理器宏”,它基本上告诉 XCode 编译你的应用程序省略了这段代码。

    这是您可以通过 UI 以图形方式定义 DISABLE_PUSH_NOTIFICATIONS 预编译符号的方式(请注意,这是在 XCode 6.1 中完成的方式):

    希望这可以帮助其他处于相同情况的人。

    【讨论】:

      【解决方案3】:

      按照上面和其他地方的建议,这就是我在 Cordova 5.0.0 中所做的

      结果警告消失了,我没有发现应用程序有任何问题。

      1. 打开平台/ios/InfoganGardenAdmin/Classes/AppDelegate.m
      2. 注释掉第 116 到 137 行

      示例:

      /* - Removed to disable push notification and Apple warning message
      #ifndef DISABLE_PUSH_NOTIFICATIONS
      
          - (void)                                 application:(UIApplication*)application
              didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken
          {
              // re-post ( broadcast )
              NSString* token = [[[[deviceToken description]
                  stringByReplacingOccurrencesOfString:@"<" withString:@""]
                  stringByReplacingOccurrencesOfString:@">" withString:@""]
                  stringByReplacingOccurrencesOfString:@" " withString:@""];
      
              [[NSNotificationCenter defaultCenter] postNotificationName:CDVRemoteNotification object:token];
          }
      
          - (void)                                 application:(UIApplication*)application
              didFailToRegisterForRemoteNotificationsWithError:(NSError*)error
          {
              // re-post ( broadcast )
              [[NSNotificationCenter defaultCenter] postNotificationName:CDVRemoteNotificationError object:error];
          }
      #endif
      */
      

      【讨论】:

      • 你确定DISABLE_PUSH_NOTIFICATIONS 确实被定义了吗?它应该与您正在执行的操作具有相同的效果...奇怪的是,它是在我的构建中定义的,但我仍然收到警告。
      • 我尝试设置此标志,但没有成功。我不是这方面的专家,所以我可能做得不好
      【解决方案4】:

      在 AppDelegate.m 中删除 didRegisterForRemoteNotificationsWithDeviceToken 和 didFailToRegisterForRemoteNotificationsWithError。使用 PhoneGap 3.5

      【讨论】:

        【解决方案5】:

        很可能是你使用的版本有问题,PhoneGap 3.5 也有同样的问题(PhoneGap 是基于 Cordova 构建的),你可以查看讨论帖here

        目前的解决方案似乎是“使用旧版本”

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2015-05-11
          • 2018-07-06
          • 1970-01-01
          • 1970-01-01
          • 2015-11-14
          • 2013-01-26
          相关资源
          最近更新 更多