这是我的指示。希望他们可以帮助您处理最简单的用例,然后您可以从那里扩展。(请记住构建您的代码,使其真正有意义!)
- 将 MMWormhole(.h 和 .m)添加到您的项目中。如果您知道如何使用 Cocoapods,请这样做,否则,只需使用 git 子模块。(我使用 git submmodules)
- 因为您需要 .h 从 Swift 中可见,所以您需要使用桥接头。
- 设置应用组,这需要使用开发者门户。链接在这里
- 在您的 iPhone 构建目标 -> 功能 -> 应用程序组中并添加您的组。如果所有三个复选框都不完美,请返回 Developer Portal 并确保一切正常或重新开始。
毫米虫洞,iPhone 侧
在可以到达的地方设置虫洞。注意:您的组 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 必须是上面的那个!
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")