我正在尝试使用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+个图像。