2016-07-17 10 views
0

Sirikitを使用して、アプリと対話する必要がある支払いドメインアプリと統合しています。私はAppleのマニュアルを読んで、共通のフレームワークを使用するように頼んだ。 ハンドオフは可能ですか?もしそうなら、どうですか? sirikitから親アプリケーション内にある他のviewControllerを呼び出すにはどうすればいいですか?SirikitとiOS 10の親アプリ通信:ハンドオフ

本当にありがとうございます。おかげ

答えて

0

チェックSiriKit Programming Guide

がハンドオフを使用するには、 NSUserActivityオブジェクトに意図レスポンスオブジェクトを作成することができます。 NSUserActivityオブジェクトを作成するときにここで

optional public func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: ([AnyObject]?) -> Swift.Void) -> Bool 

、あなたが親出願AppDelegateにこのNSUserActivityオブジェクトを取得します

let userActivity = NSUserActivity() 
userActivity.userInfo = ["myKey": myAnyObject] 

、あなたが望む適切なオブジェクトへのUserInfoプロパティを割り当てるあなたがとして比較することができuserInfoオブジェクトを取得することができます要件ごとに適切なviewControllerを呼び出します。

+0

おかげDhawalは、あなたの説明については、次のようになりましたAppDelegateにこの活動のオブジェクトにアクセスすることができます。私も同じことを試みた。しかし、ハンドオフはシームレスには起こっていません。それは "オープンアプリ"ボタンを与えている。ボタンをクリックすると、アプリが開きます。 –

+0

@Dhawal .. SiriKitサンプルコードは「ページが見つかりません」と言っています。ナビゲートせずにIntentUIエクステンションから親アプリケーションからデータをフェッチする方法 – Bharath

1

すべてのユーザの活動オブジェクトは、タイプを必要とし、私たちを、例えばのためのアプリケーション

Info.plistファイルでこれらのタイプを定義する必要があります。

let userActivity = NSUserActivity(activityType: "uaType") 
userActivity.title = "uaTitle" 
userActivity.userInfo = ["uaKey": "uaValue"] 

func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([Any]?) -> Void) -> Bool { 

     switch userActivity.activityType { 
     case "uaType": 
     //Write your logic to access uaKey & uaValue here 
     return true 
     default: return false 
     } 
} 
関連する問題