問題タブ [ios-extensions]
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 - NSUserDefaults を介した AppGroup 間の iOS 9 ShareData
TodayExtension を既存のアプリに追加しようとしていますが、アプリと拡張機能が NSUserDefaults を介してデータを共有するようにしたいと考えています。このチュートリアルhttp://www.glimsoft.com/06/28/ios-8-today-extension-tutorial/によると、 私はそれが好きでした:
- Today 拡張機能を使用して新しいターゲットを作成する
- 拡張機能とアプリに新しいアプリ グループを追加します
- コードをアプリに追加
- 拡張機能にコードを追加
アプリコード
延長コード
問題
私の問題は、拡張機能が常に 2 ではなく 0 を読み取ることです。明らかに何かが欠けています。AppGroup と NSUserDefaults の場合、iOS8 と 9 の間に大きな違いはありますか? アプリの間にwatchOS2があることは知っています。
より明確にするために、これは App and Extension NSUserDefaults のキーです
アプリキー
Appleキーボード
AppleKeyboardsExpanded
EmojiKeybordHandled の追加
AppleLanguages
Appleパスコードキーボード
優先言語
AppleLocale
NSInterfaceStyle
MSVLoggingMasterSwitchEnabledKey
NS言語
AppleITunesStoreItemKinds
IDコード
AppleLanguagesDidMigrate
PKEnableStockholmSettings
拡張キー
Appleキーボード
AppleKeyboardsExpanded
EmojiKeybordHandled の追加
AppleLanguages
Appleパスコードキーボード
優先言語
AppleLocale
NSInterfaceStyle
MSVLoggingMasterSwitchEnabledKey
NS言語
AppleITunesStoreItemKinds
AppleLanguagesDidMigrate
PKEnableStockholmSettings
キーidentityCode
が拡張子にまったく表示されていないことは明らかです。
ios - カスタム キーボードの許可を変更できません
アプリのさまざまな領域でカスタム キーボードを無効にしたいと考えています。application(_:shouldAllowExtensionPointIdentifier)
アプリのデリゲートに実装し、条件付きでUIApplicationKeyboardExtensionPointIdentifier
識別子付きの拡張機能を許可します。ただし、 への最初の呼び出しの後、この許可を変更できませんapplication(_:shouldAllowExtensionPointIdentifier)
。たとえば、 へfalse
の最初の呼び出しにapplication(_:shouldAllowExtensionPointIdentifier)
戻りtrue
、2 番目の呼び出しに戻ると、アプリでカスタム キーボードが無効のままになります。
ios - iCloud と DocumentPicker を使用しないドキュメント プロバイダー拡張機能の使用 - 非 UI バリアント
最近、iOS 8 で導入された Document Provider 拡張機能を使用して iOS アプリ間でデータを共有する方法に関する記事や情報を見つけました。
しかし、ほとんどすべての記事とチュートリアルで、iCloud または DocumentPicker のいずれかが使用されています。
私は基本的に、たとえばアプリ A で Sample.txt ファイルを作成して、大量のデータを保存しようとしています。アプリ B から、Document Provider 拡張機能を利用して Sample.txt ファイルの内容を読み取ることはできますか
理想的には、iCloud を使用したくありません。また、ドキュメント ピッカーやコントローラーなどを使用せずに、ボタンをクリックするだけでアプリ A からアプリ B にシームレスに移行したいと考えています。
これは可能ですか?
ios - drawRect は毎回呼び出されない
私は奇妙な問題に陥っています。タッチ時にキーのハイライトを描画する必要があるキーボード拡張機能を作成しています。私はそれをうまく行うことができますが、奇妙なことに、左上隅のいくつかのキー、特にキーQとAでは、毎回ハイライトを描画しません。主に私のコードは次のようになります..
- オン
touchbegan
- 呼び出してハイライトを描画[keysLayer setNeedsDisplay];
- オン
touchEnd
- もう一度呼び出してハイライトを削除します[keysLayer setNeedsDisplay];
したがって、基本的に、drawRect
関数はこれらの特定のキーで毎回呼び出されるわけではなく、他のすべてが正常に機能し、呼び出されることさえありsetNeedsDisplay
ます。
だから、私は助けを探しています.drawRect関数の呼び出しに失敗する可能性があります.理由のリストを知りたいです.
誰かが私を助けることができれば。
アップデート
コードの追加
KeysLayer ビューが追加された SuperView 内。
KeysLayer UIView クラス内
更新 2
そのため、 iOS9.0を搭載したiPhone6でのみ発生する問題を発見しました。このテスト アプリケーションでこれを検証します。このテスト アプリケーションで驚くべきことに、iOS がdrawRectをiOS バグと呼ばない特定のタッチ領域があることがわかりました。
下の添付画像を参照してください。実際に発生する場所を説明しています。解決策のない問題があります。助けが必要。
ありがとう。
ios - iOS メインアプリまたは拡張機能の確認
拡張機能でも共有されているメインのアプリファイルにこのように書きました。
実行対象が App Extension か iOS App かを検出する
ただし、拡張機能で UIAlertview を使用できないというエラーが表示されます。私もそのファイルを共有する必要があり、このコードのためだけに別の同じファイルを作成したくありません。どうやって確認しよう?
ios - Safari からの画像を処理するためのアクション拡張機能
画像と URL (特に Web ページ) を開くことをサポートする必要がある iOS アクション拡張機能があります。ただし、Safari 内から画像を共有する場合、アクション拡張機能は使用可能な拡張機能のリストに表示されません。たとえば、https://en.wikipedia.orgにアクセスして共有アイコンをタップすると、私のアクション拡張機能が表示されますが、https://upload.wikimedia.org/wikipedia/commons/c/c4/PM5544_with_non-PAL_signals.pngにアクセスすると、共有アイコンをタップしてもしません。また、写真アプリに入り、共有する 1 つ以上の画像を選択すると、アクション拡張機能がオプションとして表示されます。最初に Info.plist ファイルを次のように試しました。
これは、共有シートのアクション拡張機能を介して、すべてのアプリから無制限の数の画像と URL を受け入れることを期待しています。ただし、そうではありません。画像の共有アイコンをタップすると、アクション拡張機能が表示されません。NSExtensionActivationRule
次のように、キーのすべての値を追加するところまで行きました。
ただし、これでも問題は解決しません。これは、述語を使用する必要があるものですか? もしそうなら、どのように、そしてなぜですか?
ios - How to reactivate Typhoon assembly in iOS share extension?
I'm working on an app that contains a share extension, and both it and the container app use Typhoon assemblies for DI. The first time the share extension is launched, everything works fine, but any subsequent launches of the extension in the same session causes a crash the first time any one of the dependencies is referenced because all dependencies are now nil.
Both the app and extension use Plist integration, and so the assemblies are only run once. As such, when the extension is launched after the first time, the storyboard & view controllers are not injected with their dependencies. How can I make sure Typhoon injects its dependencies in the share extension each time it launches?