問題タブ [today-extension]
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.
ios8 - UIEvent をカスタムの Today 拡張機能にフックする
を含む iOS Today 拡張機能をプログラミングUITableView
しています。私の考えは、拡張機能がロードされたときにファイルからアーカイブされたデータをロードし、UI にデータを表示し、widgetPerformUpdateWithCompletionHandler
.
リモート コンテンツがフェッチされると、ローカル アーカイブ ファイルに保存さreloadData
れ、UITableView
. UITableView
も に応答しますtableView:didSelectRowAtIndexPath
。ユーザーが行の 1 つをタップすると、Safari が起動します。
しかし、拡張機能が読み込まれると、システムは UI を表示する代わりに以前のスナップショットを使用することに気付きました。それは結構です、私はそれがパフォーマンス上の理由であることを知っています。ただし、スナップショットは UI イベントを受け取ることができませんUITableView
。これは、ユーザーが各行をタップできるようになるまで、拡張機能が表示されてから遅延が発生することを意味します。
スナップショットが表示される時間を短縮する方法を知っている人はいますか? widgetPerformUpdateWithCompletionHandler
拡張機能がロードされたときに、Today が for 拡張機能を呼び出さないようです。
私が使用しているサンプルコードは次のとおりです。
ios - Todayview openurl - didFinishLaunchingWithOptions を複数回呼び出す
私は現在、ios8のtodayview拡張機能で遊んでいます。[self.extensionContext openURL:url completionHandler:nil];
拡張機能を含むアプリを開くために呼び出します。
場合によっては、10回の起動のうち約1回(アプリが閉じられている) -- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
が複数回呼び出されます。
の最後にブール値BOOL appStarted
を設定して周りを試してみました。-の先頭にアラートビューを追加しましたが、関数が複数回呼び出され、ブール値が常に NO であるようですYES
didFinishLaunchingWithOptions
didFinishLaunchingWithOptions
何か案が?
よろしく
ios - Today 拡張機能の「接続待ち」問題
重大な問題が発生しましたが、どこに問題があるのかわかりません。最初に、この質問は他の 2 つのスレッドで既に回答されています: iOS 8 ベータ 5
しかし、私の問題は異なります。10 個のウィジェットがあり、すべて正常に動作します。デバイスとシミュレーターの両方で問題なくデバッグできます。しかし、11 日以降、デバイスで拡張機能をデバッグしようとすると、今日の拡張機能が「Waiting to attach」のままになります (シミュレーターでは正常に動作します)。プロジェクトをクリーンアップし、ターゲット (ウィジェットを表す) を削除し、コンピューターとデバイスの両方を再起動しようとしましたが、壁はまだここにあります... デフォルトの Today 拡張機能「Hello word」でさえスタックしたままです。
この問題は私の一日を台無しにしているので、もし誰かがアイデアを持っていれば、それは素晴らしいことです. ありがとう
ios - メモリ エラーにより、カスタム フォントを使用した iOS Today ウィジェットが終了しました
今日のウィジェット
カスタム フォントを使用する iOS 8 以降のアプリがあります。TTF ファイルはアプリにバンドルされています。
現在、コンテンツを適切に表示するために同じカスタム フォントを使用する必要がある今日のウィジェット (拡張機能) を作成中です。
TTF ファイル自体は 142 KB です。
私のテスト データでは、カスタム フォントを使用して描画された文字は 3 ~ 4 文字だけです。
症状
問題は、このフォントを使用するとウィジェットが大量のメモリを使用し、ウィジェットが didReceiveMemoryWarning 呼び出しをいくつか取得して終了することです。
代わりにフォント「HelveticaNeue」を使用すると、すべて正常に動作しますが、問題の文字はカスタム フォントではなく HelveticaNeue に従って表示されます。
iOS シミュレーターではすべて正常に動作しますが、いくつかの Stackoverflow の質問/回答から、これはごく普通のことであり、iOS メモリ ガード メカニズムはデバイス上でのみ有効になると思われます。
iPhone 6 では、約 20 MB のメモリ使用量でウィジェットが強制終了されるため、ここではあまり説明しません。iPhone 4S では、制限はさらに低いようです。
質問
したがって、問題は回避策があるかどうかです。または、微調整または調査できるカスタムフォントのプロパティ。
ウィジェットによってロードできるディスク上の何か (png ファイル?) にフォントを何らかの方法でメイン アプリに事前レンダリングさせることは理にかなっていますか? どうすればそれを行うことができますか?
アプローチや検討すべきことについて何か提案はありますか?
ios - iOS Today 拡張機能で奇妙な NSInternalInconsistencyException と PKService がクラッシュする
iOS Today 拡張機能に Crashlytics をインストールしましたが、この奇妙なクラッシュが発生しています。なぜこれが起こっているのか誰にも分かりますか?
致命的な例外: 非アクティブなプラグインを削除する NSInternalInconsistencyException com.somecompany.someapp.TodayExtension(1.0)>
クラッシュしている行は
11 PlugInKit -[PKService unregisterPersonality:] + 188
私の今日の拡張機能では、viewDidLoad で、ユーザーの現在の場所を取得し、その場所に関するデータを取得するネットワーク リクエストを作成します。これは、操作に時間がかかりすぎて、iOS が拡張機能を強制終了しているために発生していますか? これを再現することはできませんでしたが、ユーザーに表示されるのは、拡張機能があるはずの空白スペースであるか、拡張機能のタイトル以外は何も表示されていないと思います。
私のメインスレッド(ただし、ここではクラッシュしませんでした):