問題タブ [apple-watch-complication]
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.
xcode - Apple Watch のバックグラウンドで 1 日 1 回コードを実行する方法はありますか?
インターネットから取得した情報を表示するコンプリケーションを Watch アプリに追加したいと考えています。この情報は毎日変わります。
Watch アプリや iOS アプリを毎日開かずに、この情報を取得する方法を見つける必要があります。
iOS ではバックグラウンドでのコードの実行が実際には許可されていないことは知っていますが、ウォッチでコンプリケーションを実行するために基本的に必要なように思われるので、WatchOS では許可されているのでしょうか?
誰もこれを行う方法を知っていますか?
ios - ClockKit CLKComplicationDataSource に後方イベントがありません
コンプリケーションをサポートするテスト アプリを作成します
何らかの理由で、時計の文字盤は 1 ~ 2 回の過去のイベントしか表示していませんが、現在の日付より前の 10 ~ 15 個のイベントをログで確認できます。そして、前方イベントの空の配列を返すと、すべての後方イベントが時計の文字盤に表示され始めます。
これが私の機能です
PS「制限」パラメーターについて知っていますが、常に配列の数よりも大きくなります
PPS私の英語でごめんなさい:)
apple-watch - Apple Watchのコンプリケーションデータの更新の流れは?
コンプリケーションの設定方法を学ぶために、インターネット上の多くのチュートリアルに従ってきました。コンプリケーションを期待どおりにセットアップするのに問題はありません。
最初のタイムライン エントリが期限切れになるまで。12時間後、複雑さを維持するために更新する方法がわかりません. 以下に私が持っているすべてを共有します。誰かが私を埋めるのを手伝ってくれることを願っています.
ここでは、コンプリケーションに表示するデータの変数を作成します。
次の配列は、このデータのコンテナーです。
これにより、時計がロックされているときにコンプリケーションを表示できます。
これにより、コンプリケーションでタイム トラベルを進めることができます。
ここでは、タイムラインの開始時刻を現在と等しくなるように設定します。
ここでは、タイムラインの終了時間を今から 12 時間後に設定します。
ここで、コンプリケーションのテンプレートを作成します。これは、ユーザーがウォッチですべてのコンプリケーションを参照しているときに、私のコンプリケーションが表示されたときにサンプル データを表示するためです。
これにより、コンプリケーションの最初のタイムライン エントリが作成されます。コンプリケーションが有効になるとすぐに、このコードが実行され、それに応じてコンプリケーションがすぐに入力されます。
これは、現在持っているすべてのデータのタイムライン エントリを作成する場所です。
これにより、コンプリケーション データをいつ更新するかが時計に通知されます。
これは私が問題に直面しているところです。
新しいデータを作成してタイムラインをリロードするにはどうすればよいですか? 流れは?タイムラインを延長しようとしているのではなく、完全に置き換えようとしています。私は完全に途方に暮れています。この点に関しては、Appleのドキュメントはかなりあいまいです。次のメソッドを実装する必要があることはわかっていますが、方法がわかりません。誰かがこのコードを記入するのを手伝ってくれますか?
アップデート:
El Teaのおかげで、うまくいきました。CLKComplicationServer のインスタンスを requestedUpdateDidBegin に追加し、内部に reloadTimeline メソッドを配置する必要があります。
更新されたコードは次のとおりです。
apple-watch - IOSデータを使用したWatchOS2 ClockKitの複雑化の更新
IOS / iPhone から WatchConnectivity 経由で転送されたデータを使用して、watchOS2 クロックキット コンプリケーションを更新しようとしています。
かなりの研究にもかかわらず、これまでのところ成功していません。他の投稿で同様の課題が説明されていることがわかりました(まだ解決策はありません)
3つの問題に直面しています:
1) ComplicationController からの sendMessage は、IOS 親アプリを起動していないようです (InterfaceController から送信された同じ sendMessage は、IOS 親アプリを起動します)。
2)値が ComplicationController に転送された場合でも(sendUserInfoToComplication を介して、IOS アプリがフォアグラウンドにある場合)、合併症に表示される値が更新されることがあります(時々更新される/更新されない理由のパターンが見つかりませんでした)
3) "getNextRequestUpdate.." を 2 分に設定しました (テスト用)。しかし、これは何の違いもないようです。(シミュレーターでも任意のタイミングで発動するが、「予算」は活用されていない / 検証するためにストッパーを設定した)
私はIOS / Swiftプログラミングに比較的慣れていないことに注意してください。しかし、他の質問/投稿に基づいて、これに苦労しているのは私だけではないようです.
サンプルコードは次のとおりです。
ComplicationController :
ビューコントローラー:
また、シミュレーターを実行すると、次のようなメッセージが多数表示されます。
watchkit - WatchKit: アプリがグランス/コンプリケーションから起動されたかどうかを検出する
ユーザーがアプリのグランスまたはコンプリケーションをタップして Apple Watch アプリを起動したかどうかを検出する方法はありますか?
ios - 実行していないときに WatchKit コンプリケーションを最新の状態に保つ
アプリの WatchKit 拡張機能に取り組んでいますが、複雑な問題がいくつかあります。
ユーザーがiOSアプリで何をしているかに応じて、特定の合計金額を表示する複雑さがあります。WatchKit 拡張機能が実行されている場合、iOS アプリは-[WCSession updateApplicationContext:]
メソッドを使用してウォッチ アプリのコンテキストを更新します。正常に動作するので、Watch アプリの ExtensionDelegate で、新しいデータを使用して複雑さを手動で更新します。
ただし、これは拡張機能が実行されている場合にのみ問題ありません (実行されていない場合は、次の起動までアプリケーション コンテキストを取得できません)。
そのため、コードを編集して、ユーザーが iOS アプリで何かを変更したときに、-[WCSession transferCurrentComplicationUserInfo:]
メソッドを使用して複雑なデータを Watch に直接送信するようにしました (バックグラウンドでユーザー情報を受け取るには、ExtensionDelegate を起動する必要があることがドキュメントに書かれています)。
ExtensionDelegateのメソッドを実装して-session:didReceiveUserInfo:
、iOS アプリからデータを受信したときに合併症を更新しましたが、拡張機能が実行されていないときは機能しません... (ユーザーを受信したかどうかはわかりません)ログに記録できないので情報)
拡張機能が実行されていない場合でも、合併症を最新の状態に保つにはどうすればよいですか??
ありがとう
PS: Watch Simulator を使用しています。拡張機能を「閉じる」には、Watch を再起動します (ハードウェア メニューから)。
編集: アプリが実行されていないときにステートメントをログアウトすることができました (Watch Simulator システム ログを開くことによって)。iOS が新しい複雑なユーザー データをウォッチ拡張機能に送信すると、次の行が表示されます。
10 月 18 日 18:08:11 pc16 WatchApp 拡張機能 [26615]: 拡張機能は、合併症のサポートのためにウェイクアップする要求を受け取りました。
10 月 18 日 18:08:11 pc16 assertiond[26585]: アサーションが失敗しました: 15A284 13S343: assertiond + 15398 [B48FCADB-A071-3A46-878B-538DC0AFF60B]: 0x1
そのため、時計はユーザー情報辞書をうまく受け取りますが、拡張機能の起動に失敗しているようです...
編集 2 : これは、複雑なユーザー情報を受け取る必要がある ExtensionDelegate のコードの一部です (ただし、アプリが実行されていないときは呼び出されません)。
編集 3 : WCSession は拡張デリゲートapplicationDidFinishLaunching
メソッドで設定されます。
apple-watch - iPhone アプリから直接コンプリケーションをアップデートする方法はありますか?
可能であれば、ユーザーが時計アプリを完全にバイパスできるようにしたいと思います。
のインスタンスを作成するために、ViewController に ClockKit をインポートしようとしましたCLKComplicationServer
。「そのようなモジュールはありません」というエラーが表示されます。
iOS アプリからコンプリケーションと直接通信する方法はありますか?
swift - CLKComplicationDataSource で 2 つの合併症のデータを定義する方法
それで、私は ClockKit Complications の初心者で、2 つの Complications のプレースホルダー テンプレートを作成する方法を知りたいです。
これまでの私のコード:
誰でも助けることができますか?