これが私の指示です。うまくいけば、それらが最も単純なユースケースであなたを助け、そこから拡張することができます. (実際に意味をなすようにコードを構成することを忘れないでください!)
- MMWormhole (.h および .m) をプロジェクトに追加します。Cocoapods の使用方法を知っている場合はそれを行いますが、それ以外の場合は git サブモジュールを使用してください。(私は git submmodules を使用しています)
- .h が Swift から見えるようにする必要があるため、ブリッジング ヘッダーを使用する必要があります。
- 開発者ポータルを使用する必要があるアプリ グループを設定します。リンクはこちら
- iPhone のビルド ターゲット -> 機能 -> アプリ グループで、グループを追加します。3 つのチェックボックスすべてが完全に機能しない場合は、開発者ポータルに戻り、すべてが正しいことを確認するか、最初からやり直してください。
MMWormhole、iPhone 側
到達できる場所にワームホールを設置します。注:グループ ID は上記の ID でなければなりません!
let wormhole = MMWormhole(applicationGroupIdentifier: "group.testMe.now", optionalDirectory: nil)
wormhole.listenForMessageWithIdentifier("wormholeMessageFromWatch", listener: { (message ) -> Void in
if let messageFromWatch = message as? String {
// do something with messageFromWatch
}
})
iPhone アプリが文字列を送信
wormhole.passMessageObject("message from phone to watch", identifier: "wormholeMessageFromPhone")
iPhone アプリは、MMWormhole を介してコールバックで受信および再送信するように登録します (非同期ですがクールです)。
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
universe.initWormhole(.phone, messageHandler: { (message) -> () in
universe.wormhole.passMessageObject("the phone got \(message)", identifier: "wormholeMessageFromPhone")
})
return true
}
MMWormhole、Apple Watch 側
到達できる場所にワームホールを設置します。注:グループ ID は上記の ID でなければなりません!
let wormhole = MMWormhole(applicationGroupIdentifier: "group.testMe.now", optionalDirectory: nil)
wormhole.listenForMessageWithIdentifier("wormholeMessageFromPhone", listener: { (message ) -> Void in
if let messageFromPhone = message as? String {
// do something with messageFromPhone
}
})
MMWormhole、時計アプリが登録して受け取る
override func awakeWithContext(context: AnyObject?) {
super.awakeWithContext(context)
universe.initWormhole(.watch, messageHandler: { (message) -> () in
println("MMWormhole Message Came to Watch: \(message)")
})
}
MMWormhole、アプリの送信を見る
// force open the parent application because otherwise the message goes nowhere until the app is opened
WKInterfaceController.openParentApplication(["":""], reply: nil)
universe.wormhole.passMessageObject("[from watch to phone]", identifier: "wormholeMessageFromWatch")