我使用Apache Cordova将我的应用程序提交到Apple Store,我收到了苹果的警告,即#34;缺少推送通知权利"。
但似乎我从未使用过"推送通知"在我的申请中。如何从我的应用程序中删除它?它在Apache Cordova中是默认的吗?
答案 0 :(得分:18)
如何正确地为CORDOVA APPS做这件事:
我也有这个问题。 @michaelb提出的解决方案有效,但我很沮丧地看到整个事情都包含在条件编译中(即#ifndef DISABLE_PUSH_NOTIFICATIONS
)我决定学习如何添加'预处理器宏',它基本上告诉XCode编译你用这段代码遗漏了app。
这就是你如何通过UI以图形方式定义DISABLE_PUSH_NOTIFICATIONS
预编译符号(注意这是在XCode 6.1中完成的方式):
希望这可以帮助其他人在同样的情况下。
答案 1 :(得分:5)
在AppDelegate.m中删除didRegisterForRemoteNotificationsWithDeviceToken和didFailToRegisterForRemoteNotificationsWithError。致力于PhoneGap 3.5
答案 2 :(得分:5)
按照上面和其他地方的建议,这就是我在Cordova 5.0.0中所做的
结果警告消失了,我没有注意到App有任何问题。
示例:
/* - 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
*/
答案 3 :(得分:2)
您使用的版本很可能是一个问题,PhoneGap 3.5也有同样的问题(PhoneGap是基于Cordova构建的),您可以查看讨论主题here
目前的解决方案似乎是“使用旧版本”
答案 4 :(得分:-1)
电子邮件非常模糊,可以采取多种方式加上如果您是新开发者,您可能不知道Apple Store应用评论的等待时间。请参阅AppReviewTimes。
要澄清:它只是一个警告,如果您不使用推送通知,则可以忽略它。
不要试图解决没有破坏的问题。加上我能找到的所有解决方案都无效。