Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift iOS与对方不通信_Swift_Watchconnectivity_Apple Watch Complication_Wcsession - Fatal编程技术网

Swift iOS与对方不通信

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

我的应用程序的基本概念是复杂度要求iPhone提供数据,然后iPhone将数据发送回。 我从iPhone应用程序的
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