7

ユーザー名、パスワード、およびデバイストークンの値を .net Web サービスに投稿しています。しかし、デバイス トークンの値は取得されませんでした。以下のコードを使用しています。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    [[UIApplication sharedApplication] setApplicationIconBadgeNumber:0]; 
    [[UIApplication sharedApplication] registerForRemoteNotificationTypes:UIRemoteNotificationTypeBadge|UIRemoteNotificationTypeAlert ]; 
}

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken 
{    
   NSLog(@"didRegisterForRemoteNotificationsWithDeviceToken: %@", deviceToken); 
   NSString *dt = [[deviceToken description] stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"<>"]]; 
   dt = [dt stringByReplacingOccurrencesOfString:@" " withString:@""]; 
   self.DeviceToken=dt; 
   NSLog(@"~~~~devToken(dv)=%@",deviceToken);
}

- (void)application:(UIApplication*)application didFailToRegisterForRemoteNotificationsWithError:(NSError*)error
{      
    NSLog(@"Failed to get token, error: %@", error);
}

しかし、コンソールには表示されます

トークンを取得できませんでした、エラー: エラー ドメイン = NSCocoaErrorDomain コード = 3000 "アプリケーションに有効な 'aps-environment' 資格文字列が見つかりません" UserInfo=0x1a0810 {NSLocalizedDescription=アプリケーションに有効な 'aps-environment' 資格文字列が見つかりません

何か案が?前もって感謝します!

4

4 に答える 4

2

暫定ファイルでプッシュ通知を有効にしましたか?

チュートリアルを進めて、正しくできているかどうかを確認してください

まず、チュートリアルで説明したように、Mac からデバイスにプッシュ通知を送信してみてください。iOSポータルから作成する必要があるサーバー側のpemファイルが必要になります:)

于 2012-10-11T19:36:00.873 に答える
1

シミュレーターからプッシュトークンを登録しようとすると別のエラーが発生するため、デバイスで実行/デバッグしていると想定しています。それを邪魔したかっただけです。

そうは言っても、通常、表示されているエラーの原因は、選択したプロビジョニング プロファイルでプッシュ通知が有効になっていないことです。ここで、iOS プロビジョニング ポータルにアクセスして、アプリ ID のプッシュを有効にしている可能性があります (開発または配布プロファイルのプッシュを有効にした場合も注意してください)。ただし、それを行った後、プロビジョニング ポータルのプロビジョニング プロファイルを「ダーティ」にして、プッシュ権限を持つ新しいプロビジョニング プロファイルを生成する必要があります。

それを「汚す」とは、入り込んでプロファイルの設定を変更し、強制的に再作成することを意味します。プロビジョニング プロファイルのリストに戻ったときに、ステータスが一時的に「保留中」に数秒間変化した後、再び「アクティブ」になり、ダウンロードできるようになった場合は、十分に「ダーティ」になったかどうかがわかります。

ああ、私はこれも質問に答えるこれを見つけました(間違ってリンクした場合は誰か助けてください):Bundle Identifier and push certificate... aps-environment entitlement error

于 2012-10-11T19:32:33.277 に答える
0

デバイス トークンを取得するには、 device でアプリケーションを実行します

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Let the device know we want to receive push notifications
    [[UIApplication sharedApplication] registerForRemoteNotificationTypes:
        (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];

    return YES;
}

- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken
{
    NSLog(@"My token is: %@", deviceToken);
}

- (void)application:(UIApplication*)application didFailToRegisterForRemoteNotificationsWithError:(NSError*)error
{
    NSLog(@"Failed to get token, error: %@", error);
}
于 2014-10-22T11:06:56.927 に答える