5

プッシュ通知に問題があります。登録したデバイスにうまく送信できます。すべて正常に動作します。

私の質問は次のとおりです。VIEW ボタンをクリックすると、アプリが起動します。現時点ではコンテンツなし。

ここにコンテンツを追加するにはどうすればよいですか? このコンテンツは、送信したプッシュ通知に依存する必要があります。

例: 私のプッシュ通知は NEWS ナンバー 1 に関するものです。[VIEW] をクリックすると、NEWS ナンバー 1 に関する詳細情報が表示されます。

等々...

また、NEWS1号から戻った際に、アプリ内で過去に受信​​したNEWSを一覧で読めるようにしたい。

私が言いたいことが分かっている?

本当の考えはありません...例に関するコードを見せていただければ幸いです。

ありがとう。

4

3 に答える 3

9

次のコードを実装するだけで、準備は完了です。

// will be called if the app was not active
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    [self applicationDidFinishLaunching:application];

    if (launchOptions != nil)
    {
        NSDictionary* dictionary = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
        if (dictionary != nil)
        {
            // get the necessary information out of the dictionary 
            // (the data you sent with your push message)
            // and load your data
        }
    }
    return YES;
}

// will be called when in foreground
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {    
    // get the necessary information out of the dictionary 
    // (the data you sent with your push message)
    // and load your data
  }

APNSでよく知られているチュートリアルは、次の場所にあります:http ://www.raywenderlich.com/3525/apple-push-notification-services-tutorial-part-2

于 2012-06-15T08:52:27.530 に答える
1

ユーザーが表示ボタンをタップしたときにアプリがバックグラウンドになかった場合は、application:didFinishLaunchingWithOptions:が呼び出されます。メソッドの2番目の引数のディクショナリには、起動の原因(直接、プッシュまたはローカル通知など)および通知の内容に関する情報が含まれています。

アプリがすでにバックグラウンドにapplication:didReceiveRemoteNotification:ある場合は、起動時に呼び出されます。繰り返しますが、2番目の引数は、通知の内容を含む辞書です。

于 2012-06-15T08:52:16.377 に答える
0

通知の UUID の生成にエラーがあります。__bridge を使用する代わりに、__bridge_transfer または CFBridgingRelease を使用する必要があります。そうしないと、CFStringRef は解放されません。

于 2013-01-30T14:45:54.543 に答える