Должен ли я беспокоиться о том, что sandboxd отрицают файл-запись-данные? - PullRequest
0 голосов
/ 29 февраля 2012

У меня есть приложение базы данных. Единый объект Я только что обновил его, чтобы включить синхронизацию iCloud. Вот мой PSC в моем делегате приложения:

- (NSPersistentStoreCoordinator *)persistentStoreCoordinator
{
if (persistentStoreCoordinator__ != nil)
{
    return persistentStoreCoordinator__;
}
NSString *storePath = [[self applicationDocumentsDirectory] stringByAppendingPathComponent: @"Logbook.sqlite"];
NSURL *storeURL = [NSURL fileURLWithPath:storePath];

persistentStoreCoordinator__ = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];


NSPersistentStoreCoordinator* psc = persistentStoreCoordinator__;

if (IOS_VERSION_GREATER_THAN_OR_EQUAL_TO(@"5.0")) {
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
        NSFileManager *fileManager = [NSFileManager defaultManager];
        NSLog(@"We're iniOS 5!");   
        // Migrate datamodel
        NSDictionary *options = nil;

        // this needs to match the entitlements and provisioning profile
        NSURL *cloudURL = [fileManager URLForUbiquityContainerIdentifier:@"XXXXXXXXXX.com.burgul.Logbook"];
        NSString* coreDataCloudContent = [[cloudURL path] stringByAppendingPathComponent:@"data"];
        if ([coreDataCloudContent length] != 0) {
            // iCloud is available
            NSLog(@"...and  iCloud is live!");
            cloudURL = [NSURL fileURLWithPath:coreDataCloudContent];

            options = [NSDictionary dictionaryWithObjectsAndKeys:
                       [NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,
                       [NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption,
                       @"Logbook.store", NSPersistentStoreUbiquitousContentNameKey,
                       cloudURL, NSPersistentStoreUbiquitousContentURLKey,
                       nil];
        } else {
            // iCloud is not available
             NSLog(@"...but  iCloud unavailable!");
            options = [NSDictionary dictionaryWithObjectsAndKeys:
                       [NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,
                       [NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption,
                       nil];
        }

        NSError *error = nil;
        [psc lock];
        if (![psc addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:options error:&error])
        {
            NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
            abort();
        }
        [psc unlock];

        dispatch_async(dispatch_get_main_queue(), ^{
            NSLog(@"asynchronously added persistent store!");
            [[NSNotificationCenter defaultCenter] postNotificationName:@"RefetchAllDatabaseData" object:self userInfo:nil];
        });

    });

} else {
    NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:
                             [NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,
                             [NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption,
                             nil];

    NSError *error = nil;
    if (![psc addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:options error:&error])
    {
        NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
        abort();
    }
}
return persistentStoreCoordinator__;
}

Я постоянно получаю эту ошибку, но синхронизация iCloud работает между iPhone и iPad. Должен ли я беспокоиться? Почему это происходит?:

Feb 28 22:23:40 unknown Logbook[2191] <Warning>: We're iniOS 5!
Feb 28 22:23:41 unknown Logbook[2191] <Warning>: Root view loading...
Feb 28 22:23:41 unknown Logbook[2191] <Warning>: ...and  iCloud is live!
Feb 28 22:23:41 unknown sandboxd[2192] <Notice>: Logbook(2191) deny file-write-data             /private/var/mobile/Library/Mobile Documents/XXXXXXXXXX~com~burgul~Logbook
Feb 28 22:23:42 unknown Logbook[2191] <Warning>: -[PFUbiquityTransactionLog loadComparisonMetadataWithError:](220): CoreData: Ubiquity:  Error encountered while trying to load the comparison metadata for transaction log: <PFUbiquityTransactionLog: 0x1fc020>
    transactionLogLocation: <PFUbiquityLocation: 0x1fb3a0>: /private/var/mobile/Library/Mobile Documents/XXXXXXXXXX~com~burgul~Logbook/data/mobile.7B7D20A-AD93-5631-9E0D-61B5E5AE1DB0/Logbook.store/1DGRB5~3_aHWVwlP9v9teBUHYhFYHcmj6kWm8HjF~8=/5837F007-B39E-42C2-A3D1-F69998C2F251.1.cdt
    transactionNumber: (null)

Error: Error Domain=NSCocoaErrorDomain Code=134301 "The operation couldn’t be completed. (Cocoa error 134301.)" UserInfo=0x172880 {reason=Error during property list parsing during import or opening of log file at location: <PFUbiquityLocation: 0x1fb7d0>: /private/var/mobile/Library/Mobile Documents/XXXXXXXXXX~com~burgul~Logbook/data/mobile.7B7D20A-AD93-5631-9E0D-61B5E5E1DB0/tempLogs.nosync/Logbook.store/1DGRB5~3_aHWVwlP9vteBUHYhFYUHmj6kWm8HjF~8=/5837F007-B39E-42C2-A3D1-F6998C2F251.1.cdt, error: Error Domain=NSCocoaErrorDomain Code=134301 "The operation couldn’t be completed. (Cocoa error 134301.)" UserInfo=0x185e80 {missingFile=/private/var/mobile/Library/Mobile Documents/XXXXXXXXXX~com~burgul~Logbook/data/mobile.7B7D20A-AD93-5631-9E0D-61B5E5AE1DB0/tempLogs.nosync/Logbook.store/1DGRB5~3_aHWVwlP9v9teBUHYhFYUHmj6kWm8HjF~8=/5837F07-B39E-42C2-A3D1-F69998C2F251.1.cdt}}
Feb 28 22:23:42 unknown Logbook[2191] <Warning>: -[PFUbiquityTransactionLog loadComparisonMetadataWithError:](220): CoreData: Ubiquity:  Error encountered while trying to load the comparison metadata for transaction log: <PFUbiquityTransactionLog: 0x171780>

Ответы [ 2 ]

1 голос
/ 10 марта 2012

Я отправил свое приложение в магазин приложений, несмотря на вышеуказанную ошибку.Он был принят и прожил 2 недели.Кажется, все работает нормально, без негативных отзывов.Поэтому решили расслабиться и забыть об этом!

1 голос
/ 07 марта 2012

Вы видели эту статью?Ваш вопрос кажется похожим.@ Объяснение Акселя кажется верным.

Ошибка синхронизации с iCloud

...