9

iOS 8 ベータ版でカスタム キーボードを開発しています。カスタム キーボードが有効になっていない場合にアプリを含むアプリでそれを有効にする方法をユーザーに伝えたいのですが、アプリの拡張機能が有効になっていることを検出する方法はありますか?

4

1 に答える 1

-2
  1. まず、お互いを理解しやすくするためにいくつかの定数を設定しましょう。

    • 含むアプリ = 拡張機能をインストールし、拡張機能のバイナリとターゲットを保持するアプリ
    • ホスト アプリ = 拡張機能が内部で実行されているアプリ (相手側)
    • extension = iOS8 の新しいコンポーネント/モジュールのいずれかで、システム全体で使用できるようになりました: カスタム キーボード、Today ウィジェット、写真編集効果など..
  2. Apple は、App Groups API と呼ばれるより静かな API もリリースしました。この API を使用すると、開発者は n 個の拡張機能を 1 つのバンドル ID でグループ化し、アプリとそれに含まれる拡張機能の間の通信回線を作成できます。

  3. NUserDefaults を使用して、拡張機能とそれを含むアプリの間でデータを共有できますが、次の新しいメソッドを使用します。

    [[NSUserDefaults alloc] initWithSuiteName:@"<app group identifier>"];
    

    読み取り/書き込み...および同期:

    [myDefaultsObj synchronize];
    
  4. そして今、一番下の行に:

    アプリ グループの URL スキームを使用して、必要なものをテストします。

    https://developer.apple.com/library/prerelease/ios/documentation/Foundation/Reference/NSExtensionContext_Class/#//apple_ref/occ/instm/NSExtensionContext/openURL:completionHandler :

    - (void)openURL:(NSURL *)URL completionHandler:(void (^)(BOOL success))completionHandler
    
    • URL - 開く URL。
    • completionHandler - URL が開いたときに呼び出されるブロック。
    • このパラメーター - success - は、開くことが成功したかどうかを示すブール値です。

幸運を!!!

于 2014-06-29T20:51:46.900 に答える