我正在開發一個與Apache Usergrid一起使用的iOS應用程序。到目前爲止,一切工作,我可以註冊用戶,登錄,查詢...Apache Usergrid Swift SDK訪問資產映像
btw:我正在與Usergrid 2.1.0發佈,運行在我自己的服務器上。
現在我想存儲用戶個人資料圖片。我這樣做:
let image = UIImage(named:"user.png")!
let asset = UsergridAsset(fileName: "profilepic", image: image, imageContentType: .Png)!
Usergrid.currentUser!.uploadAsset(asset, progress: nil) { (response, asset, error) -> Void in
if response.ok {
print("Picture saved")
} else {
self.showErrorMessage("Picture couldn't be saved")
print(response.description)
}
}
這似乎是工作,因爲當看着門戶網站時,我可以看到有關在我的用戶的實體「文件元數據」的東西。現在的問題是:我如何獲取圖像?我試過如下:
Usergrid.currentUser?.downloadAsset("image/png", progress: nil, completion: { (asset, error) -> Void in
if (error == nil) {
if let image = UIImage(data: (asset?.data)!) {
dispatch_async(dispatch_get_main_queue(), {() -> Void in
self.profileImageButton.setImage(image, forState: .Normal)
})
}
}
}
,但每次我得到的錯誤「實體不具有資產連接」的時候,其實我可以看到與Firefox RESTClient實現的幫助下圖像。我究竟做錯了什麼?
Swift SDK中可能會出現錯誤嗎?當我構建自己的UsergridRequest時,手動設置我想要檢索的文件的路徑和標題,我確實得到了一個包含圖像數據的回覆,這當然會拋出一個錯誤,因爲它無法轉換爲JSON。試圖找到錯誤... – ChrisNewman