SQLite ログを使用して iCloud で動作するようにコア データをセットアップしました。コア データ ログと SQLite ログの両方を有効にし、スキーマでレベル 3 に設定しました。ローカル ストアまたはクラウドからデータを取得または配置する際にエラーが発生するものはありません。お店。
私のローカル ストアはすべての SQLite データを格納しますが、クラウド ストアは 2 つのエンティティのみを移動するように構成されています。これは、すべてのローカル ストアを更新する必要がないためです。
永続ストアをログに記録すると、両方が表示されます。
developer.icloud.com には、データを保存するためのフォルダーがあり、2 つのサブフォルダー (iPad 用と iPhone 用) があります。これらの各フォルダーには、2 つのサブフォルダーと 1 つのreceipt.0.cdt
ファイルがあります。
すべてがセットアップされているように見えますが、アプリケーション内の 2 つのエンティティのいずれかを操作すると、NSPersistentStoreDidImportUbiquitousContentChangesNotification
(どちらのデバイスでも) 起動されません。
ローカル データ ストア (すべてのエンティティのローカル コピーを保持する) が更新され、この変更が UI に反映されていても。
操作されているストアは次のとおりです (操作が発生している間にログに記録されます)
2013-03-03 22:02:49.826 Clueless[1168:907] MOC P-Stores: (
"<NSSQLCore: 0x1d5b1180> (URL: file://localhost/private/var/mobile/Library/Mobile%20Documents/<id~com~company~appname>/Data.nosync/CategoryModel.sqlite)",
"<NSSQLCore: 0x1d5ca280> (URL: file://localhost/var/mobile/Applications/EEBE0D5E-1AC0-4A11-AA4B-FB9A63A7F95A/Documents/CategoryModel.sqlite)"
)
以下は、エンティティを操作した後に生成されたデータのログです。
2013-03-03 22:02:49.836 Clueless[1168:907] CoreData: sql: BEGIN EXCLUSIVE
2013-03-03 22:02:49.839 Clueless[1168:907] CoreData: sql: UPDATE ZIMAGEANSWERAVAILABILITY SET Z_OPT = ? WHERE Z_PK = ? AND Z_OPT = ?
2013-03-03 22:02:49.842 Clueless[1168:907] CoreData: details: SQLite bind[0] = (int64)2
2013-03-03 22:02:49.844 Clueless[1168:907] CoreData: details: SQLite bind[1] = (int64)18
2013-03-03 22:02:49.845 Clueless[1168:907] CoreData: details: SQLite bind[2] = (int64)1
2013-03-03 22:02:49.851 Clueless[1168:907] CoreData: sql: UPDATE ZIMAGEANSWERAVAILABILITY SET Z_OPT = ? WHERE Z_PK = ? AND Z_OPT = ?
2013-03-03 22:02:49.861 Clueless[1168:907] CoreData: details: SQLite bind[0] = (int64)2
2013-03-03 22:02:49.863 Clueless[1168:907] CoreData: details: SQLite bind[1] = (int64)13
2013-03-03 22:02:49.865 Clueless[1168:907] CoreData: details: SQLite bind[2] = (int64)1
2013-03-03 22:02:49.866 Clueless[1168:907] CoreData: sql: UPDATE ZSYMBOL SET ZANSWERSTATE = ?, Z_OPT = ? WHERE Z_PK = ? AND Z_OPT = ?
2013-03-03 22:02:49.868 Clueless[1168:907] CoreData: details: SQLite bind[0] = 2
2013-03-03 22:02:49.870 Clueless[1168:907] CoreData: details: SQLite bind[1] = (int64)2
2013-03-03 22:02:49.875 Clueless[1168:907] CoreData: details: SQLite bind[2] = (int64)8
2013-03-03 22:02:49.878 Clueless[1168:907] CoreData: details: SQLite bind[3] = (int64)1
2013-03-03 22:02:49.880 Clueless[1168:907] CoreData: sql: COMMIT
2013-03-03 22:02:49.909 Clueless[1168:907] CoreData: sql: pragma page_count
2013-03-03 22:02:49.911 Clueless[1168:907] CoreData: annotation: sql execution time: 0.0026s
2013-03-03 22:02:49.913 Clueless[1168:907] CoreData: sql: pragma freelist_count
2013-03-03 22:02:49.915 Clueless[1168:907] CoreData: annotation: sql execution time: 0.0021s
データストアへのデータのロードまたは追加時にエラーが発生しないため、これは本当に困惑しているため、理論的には機能するはずです。
手伝ってくれてどうもありがとう!!