【问题标题】:Creating Architecture for Sharing Photos with Apple Watch OS2创建与 Apple Watch OS2 共享照片的架构
【发布时间】:2016-04-10 19:08:36
【问题描述】:

我正在尝试找出使用 watchOS 2 将 10 多张照片从 iOS 应用程序共享到 Apple Watch 应用程序的正确方法。

我想在后台传输这些图像,这样用户就不必打开 iOS 应用来查看照片。

我尝试从 Facebook 查询照片并通过transferUserInfo() 将它们发送到手表,但有效负载太大:

FBSDKGraphRequest(graphPath: "me/photos?limit=2", parameters:["fields": "name, source"]).startWithCompletionHandler({ (connection, result, error) -> Void in
    if (error != nil){
        print(error.description)
    }
    else {
        var arr = [NSData]()

        for res in result["data"] as! NSArray {
            if let string = res["source"] as? String {
                if let url = NSURL(string: string) {
                    if let data = NSData(contentsOfURL: url){
                        arr.append(data)
                    }
                }
            }
        }
        print(arr)
        if arr.count > 0 {
            self.session.transferUserInfo(["image" : arr])
        }

    }
})

有什么想法我应该如何去做吗?

【问题讨论】:

    标签: ios swift facebook watchos-2 wcsession


    【解决方案1】:

    WCSession 文档中提到了正确的方法:

    使用transferFile:metadata: 方法在后台传输文件。如果您要发送的不仅仅是一个值字典,请使用此方法。例如,使用此方法发送图像或基于文件的文档。

    图像将通过后台线程异步传送到手表。手表成功接收到图片后会调用session:didReceiveFile:

    确保在图片中包含(日期)元数据,并从手表中删除不再属于最近十次 Facebook 上传的所有现有图片。

    【讨论】:

    • 是的,这也是我切换的内容,但是我仍在尝试弄清楚如何从 jpg url 字符串转换为可以传输的文件。
    • 要么使用照片的 url 字段并将照片从 Facebook 下载到文件,要么使用 source 字段解码照片数据,然后将该图像保存到文件中。然后使用该本地保存图像的 url 将其传输到手表。
    猜你喜欢
    • 2018-07-22
    • 1970-01-01
    • 2012-03-07
    • 1970-01-01
    • 1970-01-01
    • 2015-04-04
    • 2012-08-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多