問題タブ [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.
objective-c - iOS の openParentApplication 呼び出しで親アプリケーションが開かない
iPhoneの親アプリを開く方法を知る必要があります。バージョン 1.0.1の時計があり、親アプリには8.4 iOSがあります。
これは私のコードですAppDelegate
そして、これは私が情報に返信する方法です:
しかし、親アプリが開きません。
私の間違いは何ですか!助けてください
ios - watchkitapp が時間内にシーンを更新できませんでした
ウォッチキット拡張には、テーブルビューに項目を表示するメソッドがあります。約 500 以上のアイテムがあり、メモリが 2.9 MB から 7.8 MB に増加し、watch アプリがクラッシュします。方法は次のとおりです。
さらにデバイス ログに、「watchkitapp は時間内にシーンを更新できませんでした」というメッセージが表示されます。
このクラッシュを修正するにはどうすればよいですか? 原因はメモリか、またはウォッチ テーブルビューで 500 アイテムをロードするための長い待機時間ですか?
swift - WatchKit 2 コンプリケーションのテキストがプレビューにしか表示されない
シンプルなテキストプロバイダーから「こんにちは」と言うウォッチキット2用の非常にシンプルな複雑さを開発しようとしています。
私はいくつかの奇妙な動作を達成することができました。コンプリケーションをクリックしたとき、またはウォッチフェイスのカスタマイズ画面からプレビューしているときはテキストが表示されますが、ウォッチフェイスが表示されているときは表示されません。見てください:
これを引き起こしている可能性のあるアイデアはありますか?
私のテキストプロバイダーは次のようになります
そして、私の取得getPlaceholderTemplateForComplication
は次のようになります
ios - iPhone からのデータを使用したコンプリケーション タイムラインの更新
WCSession を使用して iPhone (iOS 9 GM) から取得した値を表示する、watchOS 2 GM の複雑さを書き込もうとしています。
残念ながら、メッセージを送信するときに次のエラーが表示されます。
これは、私のコードが ComplicationController.swift でどのように見えるかです:
これは私の ExtensionDelegate.swift です:
そして最後に私の iOS AppDelegate:
何か案は?
前もって感謝します!
ios - ウォッチ コンプリケーションのデータを入手する場所と時期
数日間複雑な作業を行った後、所定の間隔で発生する更新の更新プロセスについて、次のように自信を持って言えます。
- システムコール
requestedUpdateDidBegin()
- ここで、データが変更されたかどうかを判断できます。そうでない場合、アプリは何もする必要はありません。データが変更された場合は、次のいずれかを呼び出す必要があります。
reloadTimelineForComplication
すべてのデータをリセットする必要がある場合。extendTimelineForComplication
コンプリケーション タイムラインの最後に新しいアイテムを追加するだけでよい場合。
- 注: 1 日のコンプリケーションの時間予算を使いすぎた場合は、
requestedUpdateBudgetExhausted()
代わりにシステムが実際に呼び出すことがあります。requestedUpdateDidBegin()
これがこの質問の理由です。
- ここで、データが変更されたかどうかを判断できます。そうでない場合、アプリは何もする必要はありません。データが変更された場合は、次のいずれかを呼び出す必要があります。
- を呼び出した場合
reloadTimelineForComplication
、システムはgetCurrentTimelineEntryForComplication
(時間旅行の設定に応じて、配列を取得する未来および過去のバリアントと共に)を呼び出します。 - まだテストしていないため、これは推測ですが、それを呼び出すと
extendTimelineForComplication
、 のみが呼び出されると思いますgetTimelineEntriesForComplication(... afterDate date: NSDate ...)
。 - その後、システムが呼び出さ
getNextRequestedUpdateDateWithHandler
れるので、コンプリケーションが新しいアップデートを必要とするまでの時間を指定できます。
Apple のドキュメントでは、頻繁に更新を要求したり、コンプリケーション コードで処理を実行しすぎたりしないでください。そうしないと、時間予算が使い果たされ、コンプリケーションの更新が停止します。それで、私の質問は次のとおりです。いつ、どこで更新を行いますか?
コンテキストとして、私のシナリオは、1 時間に最大 2 回変化する戻りデータを含む URL です。
URL 取得コードを配置する最も明白な場所はfunc requestedUpdateDidBegin()
、データを取得して保存し、変更がない場合は単に戻ることです。変更があった場合は、タイムラインを延長またはリロードします。
ただし、URL フェッチにはコストがかかる場合があります。代替案:
- コードを電話アプリに入れ、 を付けて送信し
WCSession
ますが、ユーザーがそのアプリを閉じると、更新は行われなくなります。 - プッシュ アップデートを使用しますが、これは Web アプリではないため、送信元がありません。
- 明らかに、ユーザーが時計アプリを操作するときにすべてのデータを更新しますが、これは、ユーザーがアプリを使用するときにのみ更新されることを意味し、複雑さの必要性を否定します.
他の場所はありますか?コンプリケーションに含まれていない時計アプリの定期的な機能を使用できますか? 合併症の更新のためにデータを取得する適切な場所はどこですか?