web-dev-qa-db-ja.com

Mavericks iOSシミュレーターのプッシュ通知

私はこれについて何も見つけることができません、そして、私はプッシュ通知で何もしませんでした(しかし、私はそれらがどのように働くかについて漠然と知っています)。 Mavericksでは、OS XがWebサイトなどのさまざまなものからプッシュ通知を受信できるようになりましたが、iPhone Simulatorはプッシュ通知を受信できますか? 2013年半ば以前の「いいえ」から多くの答えを見つけましたが、Mavericksが新しいプッシュ機能を備えて最近リリースされたため、それらはすべて時代遅れです。

安くしてサーバーをポーリングするだけでない限り、プッシュ通知を使用する必要がある学校プロジェクトのアプリで作業を開始しようとしています。プッシュ通知を使用するにはiOS開発者アカウントが必要であることを理解していますが、コンピューターでテストできれば、私の生活がずっと楽になります。

25
sudo

いいえ、シミュレータでプッシュ通知をサポートするAPIはまだありません。デバイスを使用する必要があります。

22

iOS 8とXcode 6は、プッシュ通知にいくつかの統合を追加しました。 iPhone 6またはiPhone 6 Plusシミュレーターを選択した場合、アプリは完全な機能を備えた通知設定画面(添付を参照)で[設定]の下に表示され、初めてプッシュ通知権限を要求するときにアプリ内モーダルを表示します。これは、iPhone 6およびiPhone 6 Plusシミュレーターにのみ当てはまります。

Screenshot 2

Screenshot 1

Screenshot 3

ただし、iOS 8では、「シミュレータではリモート通知はサポートされていません」というメッセージがコンソールに表示されるため、デバイスのみを使用する必要があります。

Screenshot 4

41
Kevin Sylvestre

IPhone 6およびiPhone 6+シミュレーターにはプッシュ通知の設定があり、プッシュ通知プロンプトも表示されますが、シミュレーターからのプッシュ通知の登録はError Domain=NSCocoaErrorDomain Code=3010 "remote notifications are not supported in the simulator" UserInfo=0x7fc786b4af90 {NSLocalizedDescription=remote notifications are not supported in the simulator}で失敗します。したがって、最善の策はまだデバイスを使用することです。

18
mutable.me

IOSシミュレーターでプッシュ通知をシミュレートする場合は、次のライブラリを使用できます。 https://github.com/acoomans/SimulatorRemoteNotifications

7
acoomans

XCode8の更新GMリリース

Log:古い忘れられない詩でプッシュ通知が失敗するようになりました:

remote. 
notifications are not.
supported in the simulator.

私は今、自分自身と私の正気さに疑問を呈しています。私が長く望んでいたこの機能は、しばらくの間、私の手にありました。それはすべて単なる夢でしたか?私たちは本当にここにいますか?

<フェードアウト...>

元の投稿

IOS10ベータ(XCodeバージョン8.0ベータ(8S128d))の時点で、シミュレーターはプッシュ通知を受け取っているようです。 iOS10以前は、デバイスはlocal通知を受信できましたが、Push通知。

これに関する公式の情報源はありませんが、逸話的には、以前は失敗したプッシュ通知に依存する機能が、iPhone 5、5s、6、6 +シミュレーターで成功しています。

また、AppDelegateの登録ブロックにヒットしていることも確認しました。

- (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings {
  NSLog(@"Successfully registered!");
  doSomething(notificationSettings);
}
5
mkirk

IOS 10のリリース時にシミュレーターでリモート通知を使用することを楽しみにしています。

それまでの間、Xcodeコマンドラインを使用して通知動作をテストします。

p [((CustomAppDelegateClass *)((UIApplication *)[UIApplication sharedApplication]).delegate) application:[UIApplication sharedApplication] didReceiveRemoteNotification:@{@"aps": @{@"alert": @"Alert Message"}, @"info": @{@"object": @"value"}}];
3
Destry