Xcode で PushNotification-Plugin を機能させるのに問題があります。これが私が今までやったことです(最後のポイントまでエラーはありません):
- https://github.com/phonegap-build/PushPlugin/から最新のプラグインをダウンロードしました
- PushNotification フォルダーを XCode の Plugins フォルダーにドラッグ アンド ドロップし、コピー オプションとして [追加されたフォルダーのグループを作成する] を選択しました。
- Xcode の外部の PushNotification.js をプロジェクトの www フォルダーにコピーしました
- HTML ファイルに PushNotification.js ファイルを参照するスクリプト タグを追加しました。
- config.xml 内にプラグイン name="PushPlugin" および value="PushPlugin" を追加しました
まだエラーはありません (ただし、役立つかもしれないと思っていましたが、私がまだ行ったことはあります)。
さて、エラーが始まります:これらのメソッドを含むこのコードブロックを 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'のことですか? </li>
- タイプ「NSNotification *」のオブジェクトにプロパティ「pendingNotifications」が見つかりません -
「pushHandler」を「onpushHandler」に変更しましたが、プラグインの開発者が最初に onpushHandler という名前を付けていなかったため、それが正しいかどうかはわかりません。
他の2つのことについては、NSNotificationに変更して処理するのが正しい方法かどうかわかりません
誰かが私を助けてくれるかもしれない