iOS アプリの機能を拡張することになっている watchOS 用のアプリに取り組んでいます。
iOS シミュレーターでアプリを実行します。次に、Watch アプリのスキームを選択すると、その横にあるシミュレーターに「iPhone 7 + Apple Watch Series 2 - 38mm」と表示されます。ただし、「実行」を押すと、iOS アプリが強制的に閉じられ、iOS シミュレーターが動かなくなり、Watch シミュレーターでアプリが起動します。
ここで、iOS シミュレーターでアプリを実行するために、もう一度 iOS スキームに戻る必要があります。これにより、デバイスが切断されているように見えるため、WCSession
実装しようとしている機能をテストできません。私は方法を考え出していupdateApplicationContext
ますが、9/10回では、時計は更新を受信していないようです. 強制終了と交互の「実行」の長いセッションの後でのみ、時計シミュレーターが iOS アプリからメッセージを受信することがあります。
奇妙な「実行順序」によって引き起こされるもう 1 つの障害は、Xcode のコンソール ログ出力を使用してウォッチ アプリをデバッグできないことです。これは、iPhone が常に最後に「実行」する必要があるため、コンソールを選択することさえできないためです。時計シミュレーターを「聞く」。
これをどのように設定するのですか?これは、watchOS 用のアプリを開発するために Apple が推奨する方法ではありません。
時計アプリを実行する前に iOS スキームが選択されているときに「停止」アイコンをクリックすると、iOS シミュレーターは少なくとも「存続」し、その後 iOS アプリを開くことができるため、WCSession
ほとんどの場合、動作することがわかりました。ただし、すべてを再実行するたびに余分な手順がまだたくさんあるため、まだ満足していません。