2

その本は次のように述べています。

「アンサンブル識別子は、デバイス間で店舗を照合するために使用されます。これがアンサンブル内の各店舗で同じであることが重要です。」</p>

let ensembleFileSystem = CDEICloudFileSystem(ubiquityContainerIdentifier: "???")

これはすべてのユーザーに対して一意である必要がありますか? または私のアプリケーションのためだけですか?

Ensembles のセットアップ方法のSwiftバージョンを持っている人がいれば、それは素晴らしいことです。

私がこれまでに持っているものは、これですべてですか?

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

    let ensembleFileSystem = CDEICloudFileSystem(ubiquityContainerIdentifier: "???")

    let modelURL = NSBundle.mainBundle().URLForResource("DataModel", withExtension: "momd")!
    let url = applicationDocumentsDirectory.URLByAppendingPathComponent("SingleViewCoreData.sqlite")

    let ensemble = CDEPersistentStoreEnsemble(ensembleIdentifier: "mainstore", persistentStoreURL: url, managedObjectModelURL: modelURL, cloudFileSystem: ensembleFileSystem!)


    if !ensemble.leeched {
        ensemble.leechPersistentStoreWithCompletion { (error) -> Void in
            if error != nil {
                print("cannot leech")
                print(error!.localizedDescription)
            }
        }
    }

    NSNotificationCenter.defaultCenter().addObserver(self, selector: "syncWithCompletion:", name: CDEMonitoredManagedObjectContextDidSaveNotification, object: nil)
    NSNotificationCenter.defaultCenter().addObserver(self, selector: "syncWithCompletion:", name: CDEICloudFileSystemDidDownloadFilesNotification, object: nil)

    return true
}

func syncWithCompletion(notification:NSNotification) {
    print("synced \(notification)")
    managedObjectContext.mergeChangesFromContextDidSaveNotification(notification)
}

このエラーログを取得しています

User is not logged into iCloud

当たり前のようにログインしているにも関わらず

print(NSFileManager.defaultManager().ubiquityIdentityToken)

nilでないこと

4

1 に答える 1