使用Watch Connectivty将NSData传输到Apple Watch

时间:2016-04-09 22:56:10

标签: ios swift facebook-graph-api watch-os-2

我正在尝试使用Facebook的Graph API发送我正在获取的图像,然后获取网址数据并将其发送到可以显示的手表。

以下是我如何获取并尝试发送数据。

 override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.

        if (WCSession.isSupported()) {
            session = WCSession.defaultSession()
            session.delegate = self
            session.activateSession()
        }

        FBSDKGraphRequest(graphPath: "me/picture?type=large&redirect=false", parameters:nil).startWithCompletionHandler({ (connection, result, error) -> Void in
            if (error == nil){
                print(result)

                let dict = result["data"] as! NSDictionary
                if let urlString = dict.valueForKey("url") as? String {
                    let url = NSURL(string: urlString)
                    let imageData = NSData(contentsOfURL: url!)
                    self.session.transferUserInfo(["imageData":imageData!])
                }

            }
        })
    }

以下是我在手表端处理传输的方法。

override func willActivate() {
        // This method is called when watch view controller is about to be visible to user
        super.willActivate()

        //initialize session
        if (WCSession.isSupported()) {
            session = WCSession.defaultSession()
            session.delegate = self
            session.activateSession()
        }
    }

    func session(session: WCSession, didFinishUserInfoTransfer userInfoTransfer: WCSessionUserInfoTransfer, error: NSError?) {
        if (error != nil) {
            print(error?.description)
        }
        else {
            print("User info transfer success")
        }
    }

    func session(session: WCSession, didReceiveUserInfo userInfo: [String : AnyObject]) {
        print(userInfo["imageData"])
    }

似乎没有任何工作,没有打印出userInfo以及应该发送的相关数据。我的最终目标是使用facebook API一次性获取多个图像,然后将所有数据发送到阵列中,这可能吗?我可以一次转移到手表的图像数量有限制吗?理想情况下,我想在后台线程上发送10+个图像。

0 个答案:

没有答案