Photo Operations
#
Force UploadThe force upload function is used to force upload photos/videos to the cloud storage.
It can be used for:
- Uploading photos/videos to the cloud storage when automatic upload is stopped for some reason (auto upload is disabled, battery power is insufficient, wi-fi is not available, etc.)
- Skipping an automatic sequential photo/video upload.
When creating an album and/or adding a photo/video to an album, force upload is first automatically applied to the items that have not yet been uploaded to the cloud storage.
Keep in mind that the main purpose of the force upload function is to allow the user to upload specific items from the local gallery to the cloud without having to upload all the content.
To upload items to the cloud, you need to call the following methods:
let cancellable = cloudikePhotosKitInstance.timelineService.forceUploadItems(items, completion: { result in switch result { case let .success(items): print("force upload success") case let .failure(error): print("force upload error: \(error)") }})
The parameters of the forceUploadItems
function are as follows:
items: [CloudikeMediaItem]
- A list of items to force upload.completion: (Swift.Result<[CloudikeMediaItem], Error>) -> ()
- The completion handler to receive the result and the error objects.
To cancel operation, you can call cancel()
on Cancellable
that returned by the forceUploadItems()
method.
#
Download PhotoTo download items from the cloud or device gallery, you need to call the following methods:
let cancellable = cloudikePhotosKitInstance.timelineService.download(item: mediaItem, destination: FileManager.default.temporaryDirectory, fileName: nil) { progress in print("upload progress: \(progress)")} completion: { result in switch result { case let .success(url): print("download success with url: \(url)") case let .failure(error): print("download error: \(error)") }}
The parameters of the download
function are as follows:
items: CloudikeMediaItem
- An item to download.destination: URL
- Path to directory in app's sandbox where downloaded file will be stored.fileName: String?
- Optional parameter for file stored in app's sandbox.progress: ((Double) -> Void)?
- Handler to display download progress.completion: (Swift.Result<URL, Error>) -> ()
- The completion handler to receive the result URL and the error objects. To cancel operation, you can callcancel()
onCancellable
that returned by thedownload()
method.
#
Delete PhotoTo delete items from Timeline, you need to call the following methods:
photosManager.timelineService.delete(items, completion: { (result) in switch result { case .success(): NSLog("Timeline> delete> success") case let .failure(error): NSLog("Timeline> delete> error: \(error)") }})
The parameters of the delete
function are as follows:
items: [CloudikeMediaItem]
- A list of items to remove.completion: (Swift.Result<Void, Error>) -> ()
- The completion handler to receive the result and the error objects.
#
Add Photo to AlbumPlease refer to Working with Albums. Add Photos to Album
#
Create Public LinkPlease refer to Working with Albums. Create Public Links
#
Copy Photo to Family CloudPlease refer to Family Cloud. Copy to Family
#
Get streamable linkTo get a link to a video item, you need to call the following method:
photosManager.timelineService.videoLinkForItem(identifier) { (url) in}
The parameters of the videoLinkForItem
function are as follows:
identifier: String
- The identifier of the item(CloudikeMediaItem.backendID
).completion: ((URL?) -> Void)?
- The completion handler to receive the result.