Instance Method

setUbiquitous:itemAtURL:destinationURL:error:

Sets whether the item at the specified URL should be stored in the cloud.

Declaration

- (BOOL)setUbiquitous:(BOOL)flag itemAtURL:(NSURL *)url destinationURL:(NSURL *)destinationURL error:(NSError * _Nullable *)error;

Parameters

flag

Specify YES to move the item to iCloud or NO to remove it from iCloud (if it is there currently).

url

Specify the URL of the item (file or directory) that you want to store in iCloud.

destinationURL

Moving a file into iCloud Specify the location in iCloud at which to store the file or directory. This URL must be constructed from a URL returned by the URLForUbiquityContainerIdentifier: method, which you use to retrieve the desired iCloud container directory. The URL you specify may contain additional subdirectories so that you can organize your files hierarchically in iCloud. However, you are responsible for creating those intermediate subdirectories (using the NSFileManager class) in your iCloud container directory.

Moving a file out of iCloud Specify the location on the local device.

errorOut

On input, a pointer to variable for an NSError object. If an error occurs, this pointer is set to an NSError object containing information about the error. You may specify nil to ignore the error information.

Return Value

YES if the item’s status was updated successfully or NO if an error occurred. If this method returns NO and you specified a value for the errorOut parameter, this method returns an error object in the provided pointer.

Discussion

Use this method to move a file from its current location to iCloud. For files located in an app’s sandbox, this involves physically removing the file from the sandbox container. (The system extends your app’s sandbox privileges to give it access to files it moves to iCloud.) You can also use this method to move files out of iCloud and back into a local directory.

If your app is presenting the file’s contents to the user, it must have an active file presenter object configured to monitor the specified file or directory before calling this method. When you specify YES for the flag parameter, this method attempts to move the file or directory to the cloud and returns YES if it is successful. Calling this method also notifies your file presenter of the new location of the file so that your app can continue to operate on it.

See Also

Managing iCloud-Based Items

ubiquityIdentityToken

An opaque token that represents the current user’s iCloud identity.

URLForUbiquityContainerIdentifier:

Returns the URL for the iCloud container associated with the specified identifier and establishes access to that container.

isUbiquitousItemAtURL:

Returns a Boolean indicating whether the item is targeted for storage in iCloud.

startDownloadingUbiquitousItemAtURL:error:

Starts downloading (if necessary) the specified item to the local system.

evictUbiquitousItemAtURL:error:

Removes the local copy of the specified cloud-based item.

URLForPublishingUbiquitousItemAtURL:expirationDate:error:

Returns a URL that can be emailed to users to allow them to download a copy of a cloud-based flat file item.