У меня есть некоторые проблемы с работой PushNotification-Plugin в Xcode. Вот что я делал до сих пор (без ошибок до последнего пункта):
- Я скачал новейший подключаемый модуль с https://github.com/phonegap-build/PushPlugin/.
- Я перетаскиваю папку PushNotification в папку Plugins в XCode и выбираю «Создавать группы для любых добавленных папок» в качестве параметра копирования.
- скопировал PushNotification.js вне Xcode в папку www моего проекта
- добавлен тег script для ссылки на файл PushNotification.js в моем файле HTML
- добавлено имя плагина = «PushPlugin» и значение = «PushPlugin» внутри config.xml
Ошибок пока нет (хотя я думал, что это может быть полезно, вы знаете, что я уже сделал)
Хорошо, теперь начинаются ошибки: я добавил этот блок кода с этими методами в свой AppDelegate.m
#pragma PushNotification delegation
- (void)application:(UIApplication*)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken
{
PushNotification* pushHandler = [self.viewController getCommandInstance:@"PushNotification"];
[pushHandler didRegisterForRemoteNotificationsWithDeviceToken:deviceToken];
}
- (void)application:(UIApplication*)app didFailToRegisterForRemoteNotificationsWithError:(NSError*)error
{
PushNotification* pushHandler = [self.viewController getCommandInstance:@"PushNotification"];
[pushHandler didFailToRegisterForRemoteNotificationsWithError:error];
}
- (void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary*)userInfo
{
PushNotification* pushHandler = [self.viewController getCommandInstance:@"PushNotification"];
NSMutableDictionary* mutableUserInfo = [userInfo mutableCopy];
// Get application state for iOS4.x+ devices, otherwise assume active
UIApplicationState appState = UIApplicationStateActive;
if ([application respondsToSelector:@selector(applicationState)]) {
appState = application.applicationState;
}
[mutableUserInfo setValue:@"0" forKey:@"applicationLaunchNotification"];
if (appState == UIApplicationStateActive) {
[mutableUserInfo setValue:@"1" forKey:@"applicationStateActive"];
} else {
[mutableUserInfo setValue:@"0" forKey:@"applicationStateActive"];
[mutableUserInfo setValue:[NSNumber numberWithDouble: [[NSDate date]
timeIntervalSince1970]] forKey:@"timestamp"];
[pushHandler.pendingNotifications addObject:mutableUserInfo];
}
}
Итак, это ошибки, которые я получаю:
- Использование необъявленного идентификатора pushHandler; Вы имели в виду 'onpushHandler'?
- Неизвестное имя типа «PushNotification»; Вы имели в виду «NSNotification»?
- Свойство pendingNotifications не найдено в объекте типа NSNotification * —
Я изменил «pushHandler» на «onpushHandler», но не знаю, правильно ли это, потому что разработчик плагина изначально не назвал его onpushHandler.
Что касается двух других вещей, я не знаю, правильно ли это сделать, изменив его на NSNotification.
Может быть, кто-нибудь мог бы мне помочь