タグ付けされた質問 「apple-push-notifications」

Apple Push Notification ServiceはApple Inc.によって作成されたサービスで、iOS 3.0と一緒に起動されました。APNSはMac OS X Lion Serverと一緒に使用され、構成プロファイルを介して更新を受信するように登録されているクライアントに更新通知をプッシュします。サーバーのメール、カレンダー、連絡先サービスを使用する。これは、iPhoneなどのデバイスやMac上のiCalなどのアプリケーションが通知を受信できることを意味します



7
アプリがユーザーによって強制終了された場合、iOSはアプリをバックグラウンドで起動しますか?
content-availableプッシュ通知のフラグを使用してバックグラウンドフェッチをトリガーしています。私が持っているfetchとremote-notification UIBackgroundModes有効。 これが私のAppDelegate.mで使用している実装です。 - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler { NSLog(@"Remote Notification Recieved"); UILocalNotification *notification = [[UILocalNotification alloc] init]; notification.alertBody = @"Looks like i got a notification - fetch thingy"; [application presentLocalNotificationNow:notification]; completionHandler(UIBackgroundFetchResultNewData); } アプリがバックグラウンドで実行されている場合、正常に動作します。(上記のコードのように、通知が受信され、アプリが「通知を受け取ったように見えます」ローカル通知をトリガーしました)。 ただし、アプリが実行されておらず、content-availableフラグ付きのプッシュ通知が受信された場合、アプリは起動されず、didRecieveRemoteNotificationデリゲートメソッドが呼び出されることはありません。 WWDCビデオWhat's New With Multitasking(WWDC 2013の#204)はこれを示しています。 content-availableフラグ付きのプッシュ通知を受信すると、アプリケーションが「バックグラウンドで起動」されると書かれています。 アプリがバックグラウンドで起動しないのはなぜですか? だから本当の質問は: ユーザーがアプリを強制終了した後、iOSはバックグラウンドタスクを実行しますか?

15
registerForRemoteNotificationTypes:iOS 8.0以降ではサポートされていません
iOS 8.xでプッシュ通知に登録しようとすると: application.registerForRemoteNotificationTypes(UIRemoteNotificationType.Alert | UIRemoteNotificationType.Badge | UIRemoteNotificationType.Sound) 次のエラーが発生します。 registerForRemoteNotificationTypes: is not supported in iOS 8.0 and later. それを行うための新しい方法は何ですか?iOS 7.xでこのSwiftアプリを実行すると機能します。 編集 iOS 7.xでは、取得した条件付きコード(SystemVersion条件付きまたは#if __IPHONE_OS_VERSION_MAX_ALLOWED> = 80000)を含めると dyld: Symbol not found: _OBJC_CLASS_$_UIUserNotificationSettings



26
アプリがプッシュ通知から起動/開かれたかどうかを検出します
アプリがプッシュ通知から起動/開かれたかどうかを知ることは可能ですか? 起動イベントはここでキャッチできると思います: - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { if (launchOptions != nil) { // Launched from push notification NSDictionary *notification = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]; } } しかし、アプリがバックグラウンドにあるときにプッシュ通知から開かれたことをどのように検出できますか?

29
デバイストークン(NSData)をNSStringに変換するにはどうすればよいですか?
プッシュ通知を実装しています。APNSトークンを文字列として保存したいのですが。 - (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)newDeviceToken { NSString *tokenString = [NSString stringWithUTF8String:[newDeviceToken bytes]]; //[[NSString alloc]initWithData:newDeviceToken encoding:NSUTF8StringEncoding]; NSLog(@"%@", tokenString); NSLog(@"%@", newDeviceToken); } コードの最初の行はnullを出力します。2番目はトークンを出力します。newDeviceTokenをNSStringとして取得するにはどうすればよいですか?

23
Xcode 4.3で「アプリケーションに有効な「aps-environment」資格文字列が見つからない」を修正する方法
私は、プッシュ通知を受け取ることができるシンプルでシンプルなiOSアプリを作成するために非常に一生懸命努力しています。これを行う唯一の理由は、他のチームメンバーが使用する手順を確立するためであり、そのような手順の最新の作業バージョンをWebの他の場所で見つけることができませんでした。当店はiOS開発者にとってかなり新しいものですが、私は個人的にiOS開発者とXcodeに完全に不慣れです。私は、Appleや他の場所からの数十のチュートリアル、記事、およびトラブル投稿を偶然見つけました。 ここで私がしなければならないことです(私はXcode 4.3を使用していて、最初にiOS 5.1のみにデプロイしようとしていることに注意してください。最近のXcodeのバージョンと比べて、最近変更されたものがあるかもしれませんが、再びすべてに新しいですこれ-そしてそれを完全に混乱させ、複雑にしてください): 1)プッシュが有効になっているiPhoneにプロビジョニングプロファイルを持っています 2)テストXcodeプロジェクトで、署名プロファイルとして選択されたプロビジョニングプロファイルを取得しました(ビルド設定>コード署名で) 3)[概要と情報]> [カスタムiOSターゲットプロパティ]にバンドルIDが正しく設定されています*(私はそう思いますか?) 4)デリゲートのdidFinishLaunchingWithOptionsで呼び出されるregisterForRemoteNotificationTypesを取得しました 5)デリゲートにdidRegisterForRemoteNotificationsWithDeviceTokenとdidFailToRegisterForRemoteNotificationsWithErrorがあり、それぞれデバイストークンまたはエラーを記録するように設定されています 6)[概要]で[資格を有効にする]をオンにしました。 7)選択した資格ファイルのすぐ下にTinker6(私のテストプロジェクトの名前)があり、これは[資格を有効にする]をオンにしたときに自動的に生成されました。 8)Tinker6.entitlementsファイルには、次の情報が含まれています(私が収集したものは、Web上のさまざまな投稿に基づいて正確ですが、Apple自体からの決定的なものは見つかりません)。 更新しました 9)また、資格ファイルなしですべてを試してみましたが、基本的に同じ結果が得られました。 10)私のmobileprovisionファイルの内容には資格が適切に含まれています(私は数とドメインをスクランブルしましたが、構造的には同じです): <key>application-identifier</key> <string>12355456A7.com.whatever.tinker</string> <key>aps-environment</key> <string>development</string> <key>get-task-allow</key> <true/> <key>keychain-access-groups</key> <array> <string>12355456A7.*</string> </array> /更新を終了 デバイスでこれを実行しようとすると、Xcode出力に次のエラーが表示されます。 2012-06-11 12:45:23.762 Tinker6[13332:707] Failed to get token, error: Error Domain=NSCocoaErrorDomain Code=3000 "no valid 'aps-environment' entitlement string found for application" UserInfo=0x24a3b0 {NSLocalizedDescription=no valid …

4
プッシュ証明書を更新し、現在のApp Storeアプリを引き続き機能させる
期限切れのiOSプロビジョニングプロファイル(配布)を使用しているアプリストアにアプリがあります。このプロファイルには、有効期限が切れている(ポータルに表示されなくなった)プッシュ証明書が含まれています。 質問1:プッシュ証明書を再作成してからプロファイルを更新する方法はありますか?(キーチェーンにまだプッシュ証明書(期限切れ)があります)? 質問2:新しいプッシュ証明書を含む新しいプロファイルを使用して、アプリをアプリストアに再送信する必要がありますか? プッシュ証明書の有効期限が切れているため、おそらくアプリの既存のユーザーに通知を送信できません。

17
プッシュ通知の資格がありません
却下され、メッセージを受け取ったときに提出するアプリがあります プッシュ通知エンタイトルメントがない-アプリはAppleプッシュ通知サービスに登録されているようですが、アプリ署名のエンタイトルメントに「aps-environment」エンタイトルメントが含まれていません。アプリがAppleプッシュ通知サービスを使用している場合は、プロビジョニングポータルでアプリIDのプッシュ通知が有効になっていることを確認し、「aps-environment」資格を含む配布プロビジョニングプロファイルでアプリに署名した後で再送信します。 アドホックプロビジョニングを確認したところ、aps-environmentとproductionが見つかりましたが、ディストリビューションプロビジョニングを開いたときに見つかりませんでした。 これがこのエラーメッセージとアップルの拒否の原因ですか、どうすれば修正できますか?

10
アプリが開いていてフォアグラウンドにあるときに、ストックのiOS通知バナーを表示しますか?
Appleの公式iOSメッセージアプリが開いていてフォアグラウンドにあるとき、他の連絡先からの新しいメッセージが、在庫のネイティブiOS通知アラートバナーをトリガーします。下の画像を参照してください。 これはApp Storeのサードパーティアプリで可能ですか?ローカルおよび/またはあなたのアプリがありながら、アプリのプッシュ通知をオープンし、フォアグラウンドで? アプリをテストすると、通知は受信されますが、iOSアラートUIが表示されません。 しかし、この動作は Appleの公式メッセージアプリで見られます。 ローカルおよびリモート通知プログラミングガイドは言います: オペレーティングシステムがローカル通知またはリモート通知を配信し、ターゲットアプリがフォアグラウンドで実行されていない場合、アラート、アイコンバッジ番号、またはサウンドを通じてユーザーに通知を表示できます。 通知の配信時にアプリがフォアグラウンドで実行されている場合、アプリのデリゲートはローカルまたはリモートの通知を受け取ります。 つまり、フォアグラウンドで通知データを受信できます。しかし、ネイティブのiOS通知アラートUIを表示する方法がわかりません。 -(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { // I know we still receive the notification `userInfo` payload in the foreground. // This question is about displaying the stock iOS notification alert UI. // Yes, one *could* use a 3rd party toast alert …

11
WebアプリケーションはどのようにしてiOSデバイスにプッシュ通知を送信できますか?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 2年前休業。 この質問を改善する 私はウェブアプリに取り組んでいます。新しいコンテンツがあるときにiOSユーザーにプッシュ通知を送信するにはどうすればよいですか?

11
Xcode 8の送信時に「アプリの署名にaps-environmentエンタイトルメントがありません」
過去6か月間に数十のバージョンを提出したアプリがあり、APNSを使用しています。Xcode 8にアップグレードした後、Appleから次のメールを受け取りました 親愛なる開発者、 APP_NAMEの最近の配信に1つ以上の問題が見つかりました。配信は成功しましたが、次の配信で次の問題を修正することをお勧めします。 プッシュ通知のエンタイトルメントがない-アプリにAppleのプッシュ通知サービスのAPIが含まれていますが、aps-environmentエンタイトルメントがアプリの署名にありません。これを解決するには、プロビジョニングポータルでプッシュ通知に対してアプリIDが有効になっていることを確認してください。次に、aps-environmentエンタイトルメントを含む配布プロビジョニングプロファイルでアプリに署名します。これにより正しい署名が作成され、アプリを再送信できます。詳細については、ローカルおよびプッシュ通知プログラミングガイドの「プロビジョニングと開発」を参照してください。アプリがApple Push Notificationサービスを使用しない場合、アクションは不要です。今後の送信からAPIを削除して、この警告を停止することができます。サードパーティのフレームワークを使用している場合、 問題を修正したら、XcodeまたはApplication Loaderを使用して、新しいバイナリをiTunes Connectにアップロードできます。 よろしく、 App Storeチーム 奇妙なのは、developer.apple.com- > Certificates、Identifiers&Profilesに行っても、AppIdでプッシュ通知がまだ有効になっていることです。私は今までにやったことと何も違うことをしていませんので、Xcode 8のアップデートが何かを壊したかどうか知りたいです。何か案は? ところで:彼らがプッシュ通知プログラミングガイドに付けたリンクが電子メールで壊れていたので、それは良い兆候ではありません。

11
iOSプッシュ通知:アプリがバックグラウンドにあるときにユーザーが通知をタップしたかどうかを検出する方法は?
このトピックに関しては、stackoverflowスレッドがたくさんありますが、それでも良い解決策は見つかりませんでした。 アプリがバックグラウンドにない場合は、通知から開いたかどうかを確認するためlaunchOptions[UIApplicationLaunchOptionsRemoteNotificationKey]にapplication:didFinishLaunchingWithOptions:通話をチェックインできます。 アプリがバックグラウンドにある場合、すべての投稿でapplication:didReceiveRemoteNotification:、アプリの状態を使用して確認することをお勧めします。しかし、実験的に(このAPIの名前からもわかるように)、このメソッドは、通知を受信したときにタップされずに呼び出されます。 したがって、問題は、アプリが起動されてバックグラウンドで実行され、通知が受信されたことがわかっているapplication:didReceiveNotification(application:didFinishLaunchWithOptions:現時点ではトリガーされない)場合、ユーザーが通知をタップするか、単にアプリアイコン?ユーザーが通知をタップした場合、その通知に記載されているページを開くことが期待されているためです。それ以外の場合は必要ありません。 handleActionWithIdentifierカスタムアクション通知に使用できますが、これはカスタムアクションボタンがタップされたときにのみトリガーされ、ユーザーが通知の本体をタップしたときにトリガーされません。 ありがとう。 編集: 以下の回答を1つ読んだ後、このようにして質問を明確にできると思いました。 これらの2つのシナリオをどのように区別できますか? (A)1.アプリがバックグラウンドに移行します。2.通知を受け取りました。3.ユーザーは通知をタップします。4.アプリが前面に表示される (B)1.アプリがバックグラウンドに移行します。2.通知を受け取りました。3.ユーザーは通知を無視し、後でアプリアイコンをタップします。4.アプリが前面に表示される application:didReceiveRemoteNotification:どちらの場合もステップ2でトリガーされるため。 または、application:didReceiveRemoteNotification:(A)の場合のみステップ3でトリガーする必要がありますが、どういうわけかアプリを誤って構成したため、ステップ2で表示されますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.