Cordova how to remove “Push notification” on iOS

空扰寡人 提交于 2019-12-18 02:40:53

问题


I submitted my application using Apache Cordova to Apple Store and I got a warning from apple that "Missing Push Notification Entitlement".

But it seems that I've never used "Push Notification" in my application. How can I remove it from my application? Is it default in Apache Cordova?


回答1:


HOW TO DO THIS FOR CORDOVA APPS 'PROPERLY':

I also had this problem. The solution proposed by @michaelb worked but I was frustrated enough seeing that the whole thing was wrapped in conditional compilation (ie #ifndef DISABLE_PUSH_NOTIFICATIONS) that I decided to learn how to add a 'Preprocessor Macro', which basically tells XCode to compile you app with this bit of code left out.

This is how the you can define the DISABLE_PUSH_NOTIFICATIONS precompilation symbol graphically via the UI (note that this the way its done in XCode 6.1):

Hope this helps other people out there in same situation.




回答2:


In AppDelegate.m remove didRegisterForRemoteNotificationsWithDeviceToken and didFailToRegisterForRemoteNotificationsWithError. Working on PhoneGap 3.5




回答3:


Following the advise above and in other places, this is what I did in Cordova 5.0.0

As result the warning disappeared and I haven't noticed any problem with the App.

  1. Open platforms/ios/InfoganGardenAdmin/Classes/AppDelegate.m
  2. Comment out line 116 to 137

example:

/* - 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
*/



回答4:


It is most likely an issue with the version you are using, PhoneGap 3.5 has that same issue (PhoneGap is built on Cordova), you can view the discussion thread here

The current solution seems to be "use an older version"




回答5:


The email is pretty vague and can be taken multiple ways plus if you are a new developer you may not have known about the wait time for Apple Store app reviews. See AppReviewTimes.

To Clarify: Its just a warning and you can ignore it if you don't use push notifications.

Don't try to fix what ain't broke. Plus all the solutions I could find didn't work.



来源:https://stackoverflow.com/questions/25017933/cordova-how-to-remove-push-notification-on-ios

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!