Retired Document
Important:
The information in this document is deprecated in Mac OS X v10.7; don't use it for new development. Instead use the iCloud extensions to the NSFileManager
class to share file-based data and use the NSUbiquitousKeyValueStore
class to share preferences. Use the Address Book framework to access shared contact data and use the Calendar Store framework to access shared calendar data.
Registering Schemas
Typically, schemas are owned by one client and possibly used by multiple clients, although this approach is not enforced. Usually a schema owner registers the schema with the sync manager. Otherwise, multiple clients must coordinate registering a shared schema. It is highly recommended that you register the schema periodically even if it does not change—for example, register the schema each time your application launches. However, if a schema changes, update it with caution because changing a schema may cause records to be deleted and cause some clients to slow sync.
You register schemas with the shared ISyncManager
using the registerSchemaWithBundlePath:
method. Typically, a schema is stored in a bundle along with other related files such as images. The following code fragment gets the schema bundle and registers the schema property list:
[[ISyncManager sharedManager] registerSchemaWithBundlePath:@"/Library/SyncServices/Schemas/SyncExamples.syncschema"]; |
You can register a schema multiple times. The sync engine compares the old and new schema and updates the schema only if it changed. If it changed, the new schema replaces the old one, records in the truth database may be deleted, and clients that use the schema may slow sync.
You can also unregister a schema, but doing so removes all records associated with the entities defined in that schema. You unregister a schema using the unregisterSchemaWithName:
method.
Typically, you do not need to register Apple application schemas. See Apple Applications Schema Reference for more information on Apple application schemas.
Read Creating a Sync Schema for more information on designing your own schemas.
Copyright © 2004, 2011 Apple Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2011-07-06