問題タブ [ios-keyboard-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.

0 投票する
1 に答える
238 参照

ios - iOS 8.3、キーボード拡張 Safari の問題

iOSキーボード拡張機能を作っています。

しかし、Safari Web でボタンをクリックした後に次のコードを実行すると、proxy( UITextDocumentProxy) が停止しました。

safari-top-search-bar では問題なく動作しますが、他のプレーン テキスト ボックスで停止します。

ブロックを別のキューの dispatch_async に入れた場合、adjustTextPositionByCharacterOffsetの後に多少の遅延があります。できます

ただし、他のアプリ全体でもコードが遅くなります。

何か良いアイデアはありますか?またはSafariかどうかを検出する方法はありますか?

0 投票する
1 に答える
691 参照

ios - 拡張機能から App Group コンテナに保存されているデータベースに書き込みます

カスタム ショートカットを登録するために、App Group コンテナに sqlite データベースを格納しています。

アプリから読み書きできますが、キーボード拡張機能からはできません。拡張機能からデータベースが読み取り専用モードになっているようです。

次のコードを使用してアクセスしています。

拡張キーボードからデータベースに書き込めるようにする回避策はありますか、それとも完全に不可能ですか?

データベースはシミュレーターから書き込み可能ですが、実際のデバイスでは書き込みできません。MacOS X と iOS では権限の管理が異なるためだと思います。

0 投票する
1 に答える
70 参照

ios8 - カスタム キーボード アプリケーション ユニバーサル

カスタム キーボード アプリケーションをユニバーサルにすることは義務付けられていますか?
カスタム キーボード アプリで iPad デバイスがサポートされていない場合、Apple レビュー チームは私のアプリを拒否しますか?

0 投票する
1 に答える
143 参照

ios - キーボードのサイズ変更が完了し、すべてのサブビューが配置されたことを検出します

私のカスタム キーボードupdateConstraintsでは、キーボードの高さを増やす制約を追加します。これにより、サブビューが (自動レイアウトも使用して) 新しいサイズに調整されます。レイアウトのサイズ調整が完了し、すべてのサブビューが配置されたら、関数を呼び出す必要があります (後で使用する新しい要素のいくつかの位置を保存し、この新しいレイアウトに応じていくつかの要素を手動で更新するため)。このコードは、デバイスを回転させた後など、サイズが変更され、要素が再配置されたときに再度トリガーする必要があります。そのコードを実行するには、どの関数を使用する必要がありますか?

viewDidAppearは一度しか呼び出されませんが、その時点ではキーボードのサイズが調整されていないため、それは時期尚早です。

updateViewConstraints更新された制約に応じてサブビューがまだレイアウトされていないため、機能しません。関数を呼び出す前に更新を強制的に実行しようとして呼び出しをself.view.setNeedsLayout()試みself.view.layoutIfNeeded()ましたが、違いはありませんでした。キーボードがサブビューのレイアウトを完了する前に関数を実行します。

私は試しviewDidLayoutSubviewsてみましたが、ビューが落ち着いた後に呼び出されますが、問題は、キーボードでコレクション ビューをスクロールしているときに、この関数が 100 万回呼び出されることです。スクロール中にその関数を呼び出すことはできません。キーボードのサイズが変更され、ビューが定位置に落ち着いた後、一度しか呼び出すことができません。

viewDidAppear遅延後に呼び出し、さらに遅延後にローテーション メソッドで呼び出すことも考えましviewWillTransitionToSizeたが、これは非常に脆弱です。脆弱性を軽減するために遅延を増やすこともできますが、すべてができるだけ早く更新されるように、このメソッドができるだけ早く呼び出されるようにしたいと考えています。

0 投票する
0 に答える
71 参照

ios - iPhone検索でキーボード拡張機能が使用されていませんか?

キーボード拡張機能を作成しましたが、ほとんどのアプリで期待どおりに機能します。ただし、iPhone の検索バーで回転するキーボードの 1 つではありません。

ここに画像の説明を入力

そこにはシステムキーボードしかありません。検索バーのキーボード拡張機能を有効にするにはどうすればよいですか?