1

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に変更して処理するのが正しい方法かどうかわかりません

誰かが私を助けてくれるかもしれない     

4

1 に答える 1

1

xcode の Pushnotification フォルダーを確認してください。「Pushnotification.m」ファイルまたは「PushPlugin.m」ファイルがあります。PushPlugin.m ファイルの場合は、このコードを AppDelgate.m ファイルにコピーしないでください。github から AppDelegate をコピーします。

PushNotification.m ファイルの場合は、AppDelegate.m ファイルの先頭にコードを追加するだけです

インポート "PushNotification.h"

このリンクを見て、ゼロから始めることをお勧めします。

于 2013-04-03T07:48:49.063 に答える