Conforms to NSObject
Declared in TICDSClassesAndProtocols.h

Overview

The TICDSDocumentSyncManagerDelegate protocol defines the methods implemented by delegates of a TICDSDocumentSyncManager object.

Tasks

Registration Phase

Helper Files

Whole Store Upload

Whole Store Download

Synchronization

Vacuuming Unneeded Files

Processing after Managed Object Context Save

Instance Methods

documentSyncManager:URLForWholeStoreToUploadForDocumentWithIdentifier:description:userInfo:

Invoked to ask the delegate for the URL of the document’s persistent store to upload.

- (NSURL *)documentSyncManager:(TICDSDocumentSyncManager *)aSyncManager URLForWholeStoreToUploadForDocumentWithIdentifier:(NSString *)anIdentifier description:(NSString *)aDescription userInfo:(NSDictionary *)userInfo

Parameters

aSyncManager

The document sync manager object that sent the message.

anIdentifier

The unique identifier for the document (as supplied at registration).

aDescription

The description of the document (as supplied at registration).

userInfo

The user info dictionary (as supplied at registration).

Return Value

The location of the store file.

Declared In

TICDSClassesAndProtocols.h

documentSyncManager:didBeginDeletingSynchronizationDataFromDocumentForClientWithIdentifier:

Informs the delegate that the document sync manager has begun to delete a client’s synchronization data from the remote document.

- (void)documentSyncManager:(TICDSDocumentSyncManager *)aSyncManager didBeginDeletingSynchronizationDataFromDocumentForClientWithIdentifier:(NSString *)anIdentifier

Parameters

aSyncManager

The document sync manager object that sent the message.

anIdentifier

The identifier of the client that will be deleted.

Discussion

At the end of the process, one of the documentSyncManager:didFailToFetchInformationForAllRegisteredDevicesWithError: or documentSyncManagerDidFinishFetchingInformationForAllRegisteredDevices: methods will be called.

Declared In

TICDSClassesAndProtocols.h

documentSyncManager:didBeginProcessingSyncChangesBeforeManagedObjectContextWillSave:

Informs the delegate that the document sync manager has begun to process the changes that have occurred since the previous save: of the managed object context.

- (void)documentSyncManager:(TICDSDocumentSyncManager *)aSyncManager didBeginProcessingSyncChangesBeforeManagedObjectContextWillSave:(NSManagedObjectContext *)aMoc

Parameters

aSyncManager

The document sync manager object that sent the message.

aMoc

The managed object context.

Declared In

TICDSClassesAndProtocols.h

documentSyncManager:didEncounterWarningsWhileSynchronizing:

Informs the delegate that warnings were generated during the synchronization process.

- (void)documentSyncManager:(TICDSDocumentSyncManager *)aSyncManager didEncounterWarningsWhileSynchronizing:(NSArray *)warnings

Parameters

aSyncManager

The document sync manager object that sent the message.

warnings

An array of NSDictionary objects containing information about each warning.

Discussion

Warnings indicate that e.g., an object was changed locally but deleted remotely.

Declared In

TICDSClassesAndProtocols.h

documentSyncManager:didFailToDeleteSynchronizationDataFromDocumentForClientWithIdentifier:withError:

Informs the delegate that the document sync manager failed to delete a client’s synchronization data from the remote document.

- (void)documentSyncManager:(TICDSDocumentSyncManager *)aSyncManager didFailToDeleteSynchronizationDataFromDocumentForClientWithIdentifier:(NSString *)anIdentifier withError:(NSError *)anError

Parameters

aSyncManager

The document sync manager object that sent the message.

anIdentifier

The identifier of the client that couldn’t be deleted.

anError

The error that caused the process to fail.

Declared In

TICDSClassesAndProtocols.h

documentSyncManager:didFailToDownloadWholeStoreWithError:

Informs the delegate that the document sync manager failed to download the whole store file.

- (void)documentSyncManager:(TICDSDocumentSyncManager *)aSyncManager didFailToDownloadWholeStoreWithError:(NSError *)anError

Parameters

aSyncManager

The document sync manager object that sent the message.

anError

The error that caused the download to fail.

Declared In

TICDSClassesAndProtocols.h

documentSyncManager:didFailToFetchInformationForAllRegisteredDevicesWithError:

Informs the delegate that the document sync manager failed to fetch information on clients registered to synchronize with a document.

- (void)documentSyncManager:(TICDSDocumentSyncManager *)aSyncManager didFailToFetchInformationForAllRegisteredDevicesWithError:(NSError *)anError

Parameters

aSyncManager

The document sync manager object that sent the message.

anError

The error that caused the request process to fail.

Declared In

TICDSClassesAndProtocols.h

documentSyncManager:didFailToProcessSyncChangesBeforeManagedObjectContextWillSave:withError:

Informs the delegate that the sync manager failed to process the changes that have occurred since the previous save: of the managed object context.

- (void)documentSyncManager:(TICDSDocumentSyncManager *)aSyncManager didFailToProcessSyncChangesBeforeManagedObjectContextWillSave:(NSManagedObjectContext *)aMoc withError:(NSError *)anError

Parameters

aSyncManager

The document sync manager object that sent the message.

aMoc

The managed object context.

anError

The error that caused processing to fail.

Declared In

TICDSClassesAndProtocols.h

documentSyncManager:didFailToRegisterWithError:

Informs the delegate that the document sync manager failed to complete the document registration process.

- (void)documentSyncManager:(TICDSDocumentSyncManager *)aSyncManager didFailToRegisterWithError:(NSError *)anError

Parameters

aSyncManager

The document sync manager object that sent the message.

anError

The error that caused the registration process to fail.

Declared In

TICDSClassesAndProtocols.h

documentSyncManager:didFailToSynchronizeWithError:

Informs the delegate that the document sync manager failed to synchronize the document.

- (void)documentSyncManager:(TICDSDocumentSyncManager *)aSyncManager didFailToSynchronizeWithError:(NSError *)anError

Parameters

aSyncManager

The document sync manager object that sent the message.

anError

The error that caused synchronization to fail.

Discussion

%warning%
Warning: One possible cause of failure that you should test for is that sync failed because the integrity keys do not match. In this instance, you should alert the user and initiate a download of the whole store.

Declared In

TICDSClassesAndProtocols.h

documentSyncManager:didFailToUploadWholeStoreWithError:

Informs the delegate that the document sync manager failed to upload the whole store file.

- (void)documentSyncManager:(TICDSDocumentSyncManager *)aSyncManager didFailToUploadWholeStoreWithError:(NSError *)anError

Parameters

aSyncManager

The document sync manager object that sent the message.

anError

The error that caused the upload to fail.

Declared In

TICDSClassesAndProtocols.h

documentSyncManager:didFailToVacuumUnneededRemoteFilesWithError:

Informs the delegate that the document sync manager failed to vacuum unneeded files on the remote.

- (void)documentSyncManager:(TICDSDocumentSyncManager *)aSyncManager didFailToVacuumUnneededRemoteFilesWithError:(NSError *)anError

Parameters

aSyncManager

The document sync manager object that sent the message.

anError

The error that caused the vacuum process to fail.

Declared In

TICDSClassesAndProtocols.h

documentSyncManager:didFinishDeletingSynchronizationDataFromDocumentForClientWithIdentifier:

Informs the delegate that the document sync manager finished deleting synchronization data for a client from the document.

- (void)documentSyncManager:(TICDSDocumentSyncManager *)aSyncManager didFinishDeletingSynchronizationDataFromDocumentForClientWithIdentifier:(NSString *)anIdentifier

Parameters

aSyncManager

The document sync manager object that sent the message.

anIdentifier

The identifier of the client that was deleted.

Declared In

TICDSClassesAndProtocols.h

documentSyncManager:didFinishFetchingInformationForAllRegisteredDevices:

Informs the delegate that the document sync manager finished fetching information for all registered devices for this document.

- (void)documentSyncManager:(TICDSDocumentSyncManager *)aSyncManager didFinishFetchingInformationForAllRegisteredDevices:(NSDictionary *)information

Parameters

aSyncManager

The document sync manager object that sent the message.

information

A dictionary containing as keys the unique synchronization identifiers of each client, and as values dictionaries of information about that client.

Declared In

TICDSClassesAndProtocols.h

documentSyncManager:didFinishProcessingSyncChangesBeforeManagedObjectContextWillSave:

Informs the delegate that the sync manager finished processing the changes that have occurred since the previous save: of the managed object context.

- (void)documentSyncManager:(TICDSDocumentSyncManager *)aSyncManager didFinishProcessingSyncChangesBeforeManagedObjectContextWillSave:(NSManagedObjectContext *)aMoc

Parameters

aSyncManager

The document sync manager object that sent the message.

aMoc

The managed object context.

Declared In

TICDSClassesAndProtocols.h

documentSyncManager:didMakeChangesToObjectsInBackgroundContextAndSaveWithNotification:

Informs the delegate that changes were made to managed objects in the application’s context on a background thread during the synchronization process.

- (void)documentSyncManager:(TICDSDocumentSyncManager *)aSyncManager didMakeChangesToObjectsInBackgroundContextAndSaveWithNotification:(NSNotification *)aNotification

Parameters

aSyncManager

The document sync manager object that sent the message.

aNotification

The NSManagedObjectContextDidSave notification object containing changes made to objects.

Declared In

TICDSClassesAndProtocols.h

documentSyncManager:didPauseRegistrationAsRemoteFileStructureDoesNotExistForDocumentWithIdentifier:description:userInfo:

Informs the delegate that the document sync manager paused the document registration process because the remote file structure does not yet exist for the specified document.

- (void)documentSyncManager:(TICDSDocumentSyncManager *)aSyncManager didPauseRegistrationAsRemoteFileStructureDoesNotExistForDocumentWithIdentifier:(NSString *)anIdentifier description:(NSString *)aDescription userInfo:(NSDictionary *)userInfo

Parameters

aSyncManager

The document sync manager object that sent the message.

anIdentifier

The unique identifier for the document (as supplied at registration).

aDescription

The description of the document (as supplied at registration).

userInfo

The user info dictionary (as supplied at registration).

Discussion

%warning%
Warning: You must call the continueRegistrationByCreatingRemoteFileStructure: method to indicate whether registration should continue or not.

Declared In

TICDSClassesAndProtocols.h

documentSyncManager:didPauseRegistrationAsRemoteFileStructureWasDeletedForDocumentWithIdentifier:description:userInfo:

Informs the delegate that the document sync manager paused the document registration process because the remote file structure has previously been deleted for the specified document.

- (void)documentSyncManager:(TICDSDocumentSyncManager *)aSyncManager didPauseRegistrationAsRemoteFileStructureWasDeletedForDocumentWithIdentifier:(NSString *)anIdentifier description:(NSString *)aDescription userInfo:(NSDictionary *)userInfo

Parameters

aSyncManager

The document sync manager object that sent the message.

anIdentifier

The unique identifier for the document (as supplied at registration).

aDescription

The description of the document (as supplied at registration).

userInfo

The user info dictionary (as supplied at registration).

Discussion

%warning%
Warning: You must call the continueRegistrationByCreatingRemoteFileStructure: method to indicate whether registration should continue or not.

Declared In

TICDSClassesAndProtocols.h

documentSyncManager:didPauseSynchronizationAwaitingResolutionOfSyncConflict:

Informs the delegate that the document sync manager paused the sychronization process because a conflict was detected.

- (void)documentSyncManager:(TICDSDocumentSyncManager *)aSyncManager didPauseSynchronizationAwaitingResolutionOfSyncConflict:(id)aConflict

Parameters

aSyncManager

The document sync manager object that sent the message.

aConflict

The conflict that was detected.

Discussion

%warning%
Warning: You must call the continueSynchronizationByResolvingConflictWithResolutionType: method to indicate whether registration should continue or not.

Declared In

TICDSClassesAndProtocols.h

documentSyncManager:didReplaceStoreWithDownloadedStoreAtURL:

Informs the delegate that the document sync manager has replaced the store at the given location with the downloaded store.

- (void)documentSyncManager:(TICDSDocumentSyncManager *)aSyncManager didReplaceStoreWithDownloadedStoreAtURL:(NSURL *)aStoreURL

Parameters

aSyncManager

The document sync manager object that sent the message.

aStoreURL

The location of the persistent store that was replaced.

Discussion

You should add the store back for the persistent store coordinator.

Declared In

TICDSClassesAndProtocols.h

documentSyncManager:helperFileDirectoryURLForDocumentWithIdentifier:description:userInfo:

Invoked to allow the delegate to return a custom location for a local directory to contain the helper files the TICoreDataSync framework uses to synchronize a document.

- (NSURL *)documentSyncManager:(TICDSDocumentSyncManager *)aSyncManager helperFileDirectoryURLForDocumentWithIdentifier:(NSString *)anIdentifier description:(NSString *)aDescription userInfo:(NSDictionary *)userInfo

Parameters

aSyncManager

The document sync manager object that sent the message.

anIdentifier

The unique identifier for the document (as supplied at registration).

aDescription

The description of the document (as supplied at registration).

userInfo

The user info dictionary (as supplied at registration).

Return Value

The NSURL for the location you wish to use.

Discussion

If you don’t implement this method, the default location will be ~/Library/Application Support/ApplicationName/Documents/documentIdentifier/.

%warning%
Warning: The location you specify must already exist.

Declared In

TICDSClassesAndProtocols.h

documentSyncManager:processedChangeNumber:outOfTotalChangeCount:fromClientWithID:

Informs the delegate that the operation has processed a sync change from a client.

- (void)documentSyncManager:(TICDSDocumentSyncManager *)aSyncManager processedChangeNumber:(NSNumber *)changeNumber outOfTotalChangeCount:(NSNumber *)totalChangeCount fromClientWithID:(NSString *)clientIdentifier

Parameters

aSyncManager

The document sync manager object that sent the message.

changeNumber

The number of the change that was processed so it can be presented to the user like 2 of 10.

totalChangeCount

The total number of changes that will be processed.

clientIdentifier

The unique identifier of the client whose changes we are processing.

Declared In

TICDSClassesAndProtocols.h

documentSyncManager:shouldBeginSynchronizingAfterManagedObjectContextDidSave:

Invoked to ask the delegate whether the document sync manager should initiate Synchronization automatically after finishing processing changes in a synchronized managed object context.

- (BOOL)documentSyncManager:(TICDSDocumentSyncManager *)aSyncManager shouldBeginSynchronizingAfterManagedObjectContextDidSave:(NSManagedObjectContext *)aMoc

Parameters

aSyncManager

The document sync manager object that sent the message.

aMoc

The managed object context that saved.

Return Value

YES if the document sync manager should initiate the upload, otherwise NO.

Declared In

TICDSClassesAndProtocols.h

documentSyncManager:whileDownloadingWholeStoreDidReportProgress:

Informs the delegate on the operation’s progress being made in the download operation.

- (void)documentSyncManager:(TICDSDocumentSyncManager *)aSyncManager whileDownloadingWholeStoreDidReportProgress:(CGFloat)progress

Parameters

aSyncManager

The document sync manager object that sent the message.

progress

The progress level (0 to 1) as reported by the operation.

Declared In

TICDSClassesAndProtocols.h

documentSyncManager:whileUploadingWholeStoreDidReportProgress:

Informs the delegate on the operation’s progress being made in the upload operation.

- (void)documentSyncManager:(TICDSDocumentSyncManager *)aSyncManager whileUploadingWholeStoreDidReportProgress:(CGFloat)progress

Parameters

aSyncManager

The document sync manager object that sent the message.

progress

The progress level (0 to 1) as reported by the operation.

Declared In

TICDSClassesAndProtocols.h

documentSyncManager:willReplaceStoreWithDownloadedStoreAtURL:

Informs the delegate that the document sync manager has downloaded the store to a temporary location, and is about to replace the store at the given location.

- (void)documentSyncManager:(TICDSDocumentSyncManager *)aSyncManager willReplaceStoreWithDownloadedStoreAtURL:(NSURL *)aStoreURL

Parameters

aSyncManager

The document sync manager object that sent the message.

aStoreURL

The location of the persistent store that will be replaced.

Discussion

You should remove the given store from the persistent store coordinator.

Declared In

TICDSClassesAndProtocols.h

documentSyncManagerDidBeginDownloadingWholeStore:

Informs the delegate that the document sync manager has begun to download the whole store file, together with necessary helper files.

- (void)documentSyncManagerDidBeginDownloadingWholeStore:(TICDSDocumentSyncManager *)aSyncManager

Parameters

aSyncManager

The document sync manager object that sent the message.

Discussion

The store will be downloaded to a temporary location; once this has happened, the documentSyncManager:willReplaceStoreWithDownloadedStoreAtURL: method will be called just before the store is moved to the location given by the documentSyncManagerURLForDownloadedStore: method to allow you to remove the store file from any persistent store coordinators. Once the file has been moved, the documentSyncManager:didReplaceStoreWithDownloadedStoreAtURL: method will be called.

At the end of the download process, one of the documentSyncManager:didFailToDownloadWholeStoreWithError: or documentSyncManagerDidFinishDownloadingWholeStore: methods will be called.

Declared In

TICDSClassesAndProtocols.h

documentSyncManagerDidBeginFetchingInformationForAllRegisteredDevices:

Informs the delegate that the document sync manager has begun to fetch information on all registered devices from the remote.

- (void)documentSyncManagerDidBeginFetchingInformationForAllRegisteredDevices:(TICDSDocumentSyncManager *)aSyncManager

Parameters

aSyncManager

The document sync manager object that sent the message.

Discussion

At the end of the request process, one of the documentSyncManager:didFailToFetchInformationForAllRegisteredDevicesWithError: or documentSyncManagerDidFinishFetchingInformationForAllRegisteredDevices: methods will be called.

Declared In

TICDSClassesAndProtocols.h

documentSyncManagerDidBeginRegistering:

Informs the delegate that the document sync manager has started the document registration process.

- (void)documentSyncManagerDidBeginRegistering:(TICDSDocumentSyncManager *)aSyncManager

Parameters

aSyncManager

The document sync manager object that sent the message.

Discussion

At the end of the registration process, one of the documentSyncManager:didFailToRegisterWithError: or documentSyncManagerDidFinishRegistering: methods will be called.

Declared In

TICDSClassesAndProtocols.h

documentSyncManagerDidBeginSynchronizing:

Informs the delegate that the document sync manager has begun to synchronize the document.

- (void)documentSyncManagerDidBeginSynchronizing:(TICDSDocumentSyncManager *)aSyncManager

Parameters

aSyncManager

The document sync manager object that sent the message.

Discussion

At the end of the synchronization process, one of the documentSyncManager:didFailToSynchronizeWithError: or documentSyncManagerDidFinishSynchronizing: methods will be called.

Declared In

TICDSClassesAndProtocols.h

documentSyncManagerDidBeginUploadingWholeStore:

Informs the delegate that the document sync manager has begun to upload the whole store file, together with necessary helper files.

- (void)documentSyncManagerDidBeginUploadingWholeStore:(TICDSDocumentSyncManager *)aSyncManager

Parameters

aSyncManager

The document sync manager object that sent the message.

Discussion

At the end of the upload process, one of the documentSyncManager:didFailToUploadWholeStoreWithError: or documentSyncManagerDidFinishUploadingWholeStore: methods will be called.

Declared In

TICDSClassesAndProtocols.h

documentSyncManagerDidBeginVacuumingUnneededRemoteFiles:

Informs the delegate that the document sync manager has begun to remove unneeded files from the remote.

- (void)documentSyncManagerDidBeginVacuumingUnneededRemoteFiles:(TICDSDocumentSyncManager *)aSyncManager

Parameters

aSyncManager

The document sync manager object that sent the message.

Discussion

At the end of the vacuum process, one of the documentSyncManager:didFailToVacuumUnneededRemoteFilesWithError: or documentSyncManagerDidFinishVacuumingUnneededRemoteFiles: methods will be called.

Declared In

TICDSClassesAndProtocols.h

documentSyncManagerDidContinueRegistering:

Informs the delegate that the document sync manager has resumed the document registration process.

- (void)documentSyncManagerDidContinueRegistering:(TICDSDocumentSyncManager *)aSyncManager

Parameters

aSyncManager

The document sync manager object that sent the message.

Declared In

TICDSClassesAndProtocols.h

documentSyncManagerDidContinueSynchronizing:

Informs the delegate that the synchronization process has continued after a conflict was resolved.

- (void)documentSyncManagerDidContinueSynchronizing:(TICDSDocumentSyncManager *)aSyncManager

Parameters

aSyncManager

The document sync manager object that sent the message.

Declared In

TICDSClassesAndProtocols.h

documentSyncManagerDidDetermineThatClientHadPreviouslyBeenDeletedFromSynchronizingWithDocument:

Informs the delegate that the client had previously been deleted from synchronizing this document.

- (void)documentSyncManagerDidDetermineThatClientHadPreviouslyBeenDeletedFromSynchronizingWithDocument:(TICDSDocumentSyncManager *)aSyncManager

Parameters

aSyncManager

The document sync manager object that sent the message.

Discussion

The client should alert the user, and download the store once registration has finished.

Declared In

TICDSClassesAndProtocols.h

documentSyncManagerDidFinishDownloadingWholeStore:

Informs the delegate that the document sync manager finished downloading the whole store file successfully.

- (void)documentSyncManagerDidFinishDownloadingWholeStore:(TICDSDocumentSyncManager *)aSyncManager

Parameters

aSyncManager

The document sync manager object that sent the message.

Declared In

TICDSClassesAndProtocols.h

documentSyncManagerDidFinishRegistering:

Informs the delegate that the document sync manager finished registering the document successfully.

- (void)documentSyncManagerDidFinishRegistering:(TICDSDocumentSyncManager *)aSyncManager

Parameters

aSyncManager

The document sync manager object that sent the message.

Declared In

TICDSClassesAndProtocols.h

documentSyncManagerDidFinishSynchronizing:

Informs the delegate that the document sync manager finished synchronizing the document.

- (void)documentSyncManagerDidFinishSynchronizing:(TICDSDocumentSyncManager *)aSyncManager

Parameters

aSyncManager

The document sync manager object that sent the message.

Declared In

TICDSClassesAndProtocols.h

documentSyncManagerDidFinishUploadingWholeStore:

Informs the delegate that the document sync manager finished uploading the whole store file successfully.

- (void)documentSyncManagerDidFinishUploadingWholeStore:(TICDSDocumentSyncManager *)aSyncManager

Parameters

aSyncManager

The document sync manager object that sent the message.

Declared In

TICDSClassesAndProtocols.h

documentSyncManagerDidFinishVacuumingUnneededRemoteFiles:

Informs the delegate that the document sync manager finished vacuuming unneeded files from the remote.

- (void)documentSyncManagerDidFinishVacuumingUnneededRemoteFiles:(TICDSDocumentSyncManager *)aSyncManager

Parameters

aSyncManager

The document sync manager object that sent the message.

Declared In

TICDSClassesAndProtocols.h

documentSyncManagerShouldSupportProcessingInBackgroundState:

Asks the delegate whether or not the document sync manager should support continued operation processing after the app has been sent to a background state. .

- (BOOL)documentSyncManagerShouldSupportProcessingInBackgroundState:(TICDSDocumentSyncManager *)aSyncManager

Parameters

aSyncManager

The document sync manager object that sent the message.

Declared In

TICDSClassesAndProtocols.h

documentSyncManagerShouldUploadWholeStoreAfterDocumentRegistration:

Invoked to ask the delegate whether the document sync manager should automatically initiate a Whole Store Upload at registration.

- (BOOL)documentSyncManagerShouldUploadWholeStoreAfterDocumentRegistration:(TICDSDocumentSyncManager *)aSyncManager

Parameters

aSyncManager

The document sync manager object that sent the message.

Return Value

YES if the sync manager should initiate the upload, otherwise NO.

Declared In

TICDSClassesAndProtocols.h

documentSyncManagerShouldVacuumUnneededRemoteFilesAfterDocumentRegistration:

Invoked to ask the delegate whether the document sync manager should automatically remove unneeded files at registration.

- (BOOL)documentSyncManagerShouldVacuumUnneededRemoteFilesAfterDocumentRegistration:(TICDSDocumentSyncManager *)aSyncManager

Parameters

aSyncManager

The document sync manager object that sent the message.

Return Value

YES if the document sync manager should initiate the vacuum, otherwise NO.

Declared In

TICDSClassesAndProtocols.h

documentSyncManagerURLForDownloadedStore:

Invoked to ask the delegate for the URL of the document’s store once it has been downloaded.

- (NSURL *)documentSyncManagerURLForDownloadedStore:(TICDSDocumentSyncManager *)aSyncManager

Parameters

aSyncManager

The document sync manager object that sent the message.

Return Value

The location of the store file.

Discussion

If this method is not implemented, the sync manager will ask the persistent store coordinator of the primary synchronized managed object context (the one specified at registration) for the location of its persistentStores array’s lastObject.

Declared In

TICDSClassesAndProtocols.h