Cordova как удалить "Push-уведомление" на iOS

Я отправил свое приложение с помощью Apache Cordova в Apple Store, и я получил предупреждение от apple, что "отсутствует право на Push-уведомление".

но кажется, что я никогда не использовал "Push-уведомление" в своем приложении. Как удалить его из приложения? Это по умолчанию в Apache Cordova?

5 ответов


КАК ЭТО СДЕЛАТЬ ДЛЯ CORDOVA ПРИЛОЖЕНИЙ "ПРАВИЛЬНО":

у меня также была эта проблема. Решение, предложенное @michaelb, работало, но я был разочарован, видя, что все это было завернуто в условную компиляцию (т. е. #ifndef DISABLE_PUSH_NOTIFICATIONS), что я решил узнать, как добавить "макрос препроцессора", который в основном говорит XCode скомпилировать приложение с этим битом кода.

вот как вы можете определить DISABLE_PUSH_NOTIFICATIONS символ предварительной компиляции графически через пользовательский интерфейс (обратите внимание, что это так, как это сделано в XCode 6.1):

enter image description here

надеюсь, что это поможет другим людям в той же ситуации.


В AppDelegate.M удалить didRegisterForRemoteNotificationswithdevicetoken и didFailToRegisterForRemoteNotificationswitherror. Работа на PhoneGap 3.5


следуя советам выше и в других местах, это то, что я сделал в Cordova 5.0.0

в результате предупреждение исчезло, и я не заметил никаких проблем с приложением.

  1. открытые платформы / ios/InfoganGardenAdmin/классы / AppDelegate.м
  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
*/

Это, скорее всего, проблема с версией, которую вы используете, PhoneGap 3.5 имеет ту же проблему (PhoneGap построен на Cordova), вы можете просмотреть поток обсуждения здесь

текущее решение кажется "использовать старую версию"


письмо довольно расплывчато и может быть принято несколькими способами плюс, если вы новый разработчик, вы, возможно, не знали о времени ожидания для Apple Store App отзывы. См.AppReviewTimes.

уточню: это просто предупреждение, и вы можете игнорировать его, если вы не используете push-уведомления.

Не пытайтесь исправить то, что не сломано. Плюс все решения, которые я смог найти не работают.