問題タブ [watchapp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - Apple Watch に WatchKit アプリをインストールできない
既存のプロジェクトに時計アプリを追加しました。私のアプリには位置情報サービスがあります。時計アプリをシミュレーターに実行しようとすると正常に動作していましたが、Apple Watch デバイスアプリにインストールしようとすると、読み込みが継続し、黒い画面が表示されなくなります。
助けてください。
ios - さまざまなビルド スキーム (デバッグ、配布、リリース) の「WKAppBundleIdentifier」キーと「WKCompanionAppBundleIdentifier」キーを追加する
デモ アプリとアプリストア アプリをテストするために、XCode でさまざまなビルド スキームにさまざまなビルド設定を設定しました。
これを行うために、デバッグ スキームとリリース スキーム用に異なるバンドル ID を持つ異なるプロビジョニング プロファイルを作成しました。
デバッグ ビルドとアプリストア ビルドを区別するために、異なるアプリ アイコンを追加しました。すべてが期待どおりに完全に機能します。ウォッチアプリの新しいターゲットを追加したときに問題が発生しました。ウォッチ ターゲットを追加するときは、それぞれのプロパティ リスト (plist) で、 WatchApp のメイン アプリ バンドル識別子 ( WKAppBundleIdentifier ) とWatchAppExtensionのウォッチ アプリ バンドル識別子(WKCompanionAppBundleIdentifier) を設定する必要があります。ここでは、異なるスキームに異なるバンドル識別子を設定するオプションがなく、異なるスキームに切り替えてコンパイルするとエラーが発生します。
解決策 #: 異なるスキーム用にアプリをコンパイルするたびに、これらの識別子を変更する必要があります。それは本当に面倒で時間がかかります。
誰かがより良い解決策を提案してくれれば、本当に役に立ち、時間を節約できます。
ありがとう、サンディープ
ios - XCode での Watch-iPhone アプリのビルドについて
Apple 拡張機能を備えた iPhone アプリがあり、XCode でアプリをビルドすると、Watch アプリのみがビルドを開始します。両方のシミュレーターが表示されますが、iPhone アプリは起動しません。これは、iPhone+Watch アプリをテストするときの通常の動作ですか?
iPhoneアプリをテストしたいだけで、Watchアプリは関与する必要がない場合があるため、ビルドに関してはより詳細に制御したいと考えています。
両方をデバッグできるように、Xcode でビルドするときに両方のアプリを起動することはできますか?
必要に応じて、watch アプリのテストをやめて、iPhone アプリのみをテストすることはできますか?
ビルド時間を短縮する方法はありますか?
ありがとう
apple-watch - watchapp とそのコンプリケーション間でデータ モデルを共有する
Apple Watch 用の watchapps を開発する方法を学ぼうとしていますが、少し難しいように思えます: watchapp と複雑なコントローラーの間でデータをどのように共有するのですか?
私がオンラインで見るほとんどの例は、次の順序に従っています。
1 - ExtensionDelegate でデータをダウンロードし、InterfaceController で使用します。
2 - ComplicationController を取得して、ExtensionDelegate からデータを取得します
3 - ExtensionDelegate にバックグラウンド タスクを追加して、InterfaceController と ComplicationController の両方で使用される更新されたデータをダウンロードし、両方を更新します。
したがって、私のデータは ExtensionDelegate のコレクションにあります。私は疑問に思う:
1 - アプリの起動時に、誰が最初に ExtensionController にデータをダウンロードさせる必要がありますか? 私のComplicationControllerまたは私のInterfaceController? xcodeにはこれらのそれぞれにシミュレーターがあるため、これを尋ねます。そのため、アプリの起動時に最初に呼び出されることが時々わかりません。コンプリケーションは、ユーザーがアプリを開いた後にのみライフサイクルを開始する必要があるため、最初のデータの読み込みを強制する必要がありますか?それとも、アプリのインストール後に開始する必要がありますか? または、ComplicationController または InterfaceController のいずれかが最初のデータ ダウンロードをトリガーできるように、ExtensionDelegate にフラグを追加して、データがダウンロードされていない、ダウンロードされているデータがある、使用可能なデータがある (つまり、コレクションが null でない) 場合にフラグを立てる必要がありますか?
2 - バックグラウンドでのダウンロード タスクは機能しますが、数時間にわたってアプリを開くときに、以前に開いていなかったかのようにアプリをリロードする必要があり、データの新しいダウンロードがトリガーされるように感じます。その上のデータは、既にダウンロードされ、ComplicationController によって表示されたデータとは異なります。これに取り組むための良い戦略は何ですか?何を確認する必要があるかについての指針はありますか?