iCloud и NSFileWrapper:В настройках отображаются 2 разных файла

У меня есть приложение, которое использует UIDocument, основанный на NSFileWrapper. Моя файловая оболочка представляет собой каталог с именем «XXX.cp» с двумя вложенными-файлами «photo.data» и «photo.metadata». Кажется, что документы сохраняются и загружаются нормально, однако, когда я захожу в Настройки\Управление хранилищем\Неизвестно, вложенные-файлы перечислены отдельно :

Settings

. Я ожидал, что вместо этих двух вложенных-будет показано «XXX.cp». ] файлы. Я думаю, что документ UTI настроен и экспортирован должным образом:

UTI UTI Export

И я думаю, что я правильно создаю файлы-обертки (, тем более, что он читает/записывает нормально):

- (void)encodeObject:(id<NSCoding>)object toWrappers:(NSMutableDictionary *)wrappers preferredFilename:(NSString *)preferredFilename {    
    @autoreleasepool {                
        NSMutableData * data = [NSMutableData data];    
        NSKeyedArchiver * archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];    
        [archiver encodeObject:object forKey:@"data"];    
        [archiver finishEncoding];   
        NSFileWrapper * wrapper = [[NSFileWrapper alloc] initRegularFileWithContents:data];    
        [wrappers setObject:wrapper forKey:preferredFilename];    
    }    
}        

- (id)contentsForType:(NSString *)typeName error:(NSError *__autoreleasing *)outError {        
    if (self.captionedPhotoMetadata == nil || self.captionedPhoto == nil) {    
        *outError = [[NSError alloc] initWithDomain:CaptionedPhotoErrorDomain code:CaptionedPhotoInvalidDocument userInfo:[NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Invalid document!", @""), NSLocalizedDescriptionKey, nil]];    
        return nil;        
    }    
    NSMutableDictionary * wrappers = [NSMutableDictionary dictionary];    
    [self encodeObject:self.captionedPhotoMetadata toWrappers:wrappers preferredFilename:METADATA_FILENAME];    
    [self encodeObject:self.captionedPhoto toWrappers:wrappers preferredFilename:DATA_FILENAME];       
    NSFileWrapper * fileWrapper = [[NSFileWrapper alloc] initDirectoryWithFileWrappers:wrappers];    
    return fileWrapper;        
}

Но все равно нет сигары. Кто-нибудь знает, в чем проблема? Спасибо!

9
задан cacau 11 March 2014 в 21:35
поделиться