Swift iOS与对方不通信
我的应用程序的基本概念是复杂度要求iPhone提供数据,然后iPhone将数据发送回。 我从iPhone应用程序的Swift iOS与对方不通信,swift,watchconnectivity,apple-watch-complication,wcsession,Swift,Watchconnectivity,Apple Watch Complication,Wcsession,我的应用程序的基本概念是复杂度要求iPhone提供数据,然后iPhone将数据发送回。 我从iPhone应用程序的didfishlaunchwithoptions中激活WCSession。另外,在我的手表应用程序中,我已经覆盖了ExtensionLegate中的init() 这是我的iPhone单件: class WatchConnectivityManager: NSObject, WCSessionDelegate { static let sharedManager = Watch
didfishlaunchwithoptions
中激活WCSession。另外,在我的手表应用程序中,我已经覆盖了ExtensionLegate中的init()
这是我的iPhone单件:
class WatchConnectivityManager: NSObject, WCSessionDelegate {
static let sharedManager = WatchConnectivityManager()
private override init() {
super.init()
}
private let session: WCSession? = WCSession.isSupported() ? WCSession.defaultSession() : nil
func startSession() {
print("session started")
session?.delegate = self
session?.activateSession()
}
func session(session: WCSession, didReceiveUserInfo userInfo: [String : AnyObject]) {
print("didReceiveUserInfo")
session.transferCurrentComplicationUserInfo(["reply":""])
}
}
这是我手表上的单身汉:
class WatchConnectivityManager: NSObject, WCSessionDelegate {
static let sharedManager = WatchConnectivityManager()
private override init() {
super.init()
}
private let session: WCSession? = WCSession.isSupported() ? WCSession.defaultSession() : nil
func startSession() {
print("session started")
session?.delegate = self
session?.activateSession()
}
func session(session: WCSession, didReceiveUserInfo userInfo: [String : AnyObject]) {
print("didReceiveUserInfo")
}
func requestData() {
print("data requested")
session!.transferUserInfo(["request" : ""])
}
}
在我的ExtensionLegate的init中,当我激活我的complexing时应该调用它,我调用开始会话
和请求数据
:
class ExtensionDelegate: NSObject, WKExtensionDelegate {
override init() {
WatchConnectivityManager.sharedManager.startSession()
WatchConnectivityManager.sharedManager.requestData()
}
func applicationDidFinishLaunching() {}
func applicationDidBecomeActive() {}
func applicationWillResignActive() {}
}
以及我的iPhone中的AppDelegate:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
WatchConnectivityManager.sharedManager.startSession()
return true
}
其结果很简单:
session started
data requested
当我在XCode中的模拟器上调试复杂问题时,没有didReceiveUserInfo