1

watchOS 2を使用して、iOSアプリからApple Watchアプリに10枚以上の写真を共有するための適切なアプローチを見つけようとしています.

ユーザーが写真を表示するために 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])
        }

    }
})

これを行うにはどうすればよいですか?

4

1 に答える 1

2

適切な方法はWCSessionドキュメントに記載されています。

メソッドを使用transferFile:metadata:して、バックグラウンドでファイルを転送します。ディクショナリ以上の値を送信する場合は、このメソッドを使用します。たとえば、このメソッドを使用して、画像やファイルベースのドキュメントを送信します。

画像は、バックグラウンド スレッドで時計に非同期的に配信されます。 session:didReceiveFile:時計が画像を正常に受信すると呼び出されます。

必ず画像に (日付) メタデータを含め、最新の 10 件の Facebook アップロードに含まれなくなった既存の画像を時計から削除してください。

于 2016-04-10T22:26:50.927 に答える