NSURL и Информация о версии CFURL для OS X v10.6
Содержание:
Доступ к ресурсам файловой системы
Этот выпуск OS X содержит новую Основу и Базовую Основу APIs для ОСНОВАННОГО НА URL доступа к ресурсам файловой системы. Этот APIs объявляется в NSURL.h и CFURLAccess.h. Обратитесь к этим заголовочным файлам платформы для более подробной документации.
Следующие новые методы NSURL функциональны в этом выпуске:
- (BOOL)getResourceValue:(id *)value forKey:(NSString *)key error:(NSError **)error; |
- (NSDictionary *)resourceValuesForKeys:(NSArray *)keys error:(NSError **)error; |
Следующая новая Базовая Основа APIs функциональна в этом выпуске:
Boolean CFURLCopyResourcePropertyForKey(CFURLRef url, CFStringRef key, void *propertyValueTypeRefPtr, CFErrorRef *error); |
CFDictionaryRef CFURLCopyResourcePropertiesForKeys(CFURLRef url, CFArrayRef keys, CFErrorRef *error); |
void CFURLClearResourcePropertyCacheForKey(CFURLRef url, CFStringRef key); |
void CFURLClearResourcePropertyCache(CFURLRef url); |
Следующие новые методы NSURL объявлены, но не реализованы в этом выпуске:
- (BOOL)setResourceValue:(id)value forKey:(NSString *)key error:(NSError **)error; |
- (BOOL)setResourceValues:(NSDictionary *)keyedValues error:(NSError **)error; |
- (BOOL)checkResourceIsReachableAndReturnError:(NSError **)error; |
Следующий новый APIs объявляется в CFURLAccess.h, но не реализован в этом выпуске:
Boolean CFURLSetResourcePropertyForKey(CFURLRef url, CFStringRef key, CFTypeRef propertValue, CFErrorRef *error); |
Boolean CFURLSetResourcePropertiesForKeys(CFURLRef url, CFDictionaryRef keyedPropertyValues, CFErrorRef *error); |
void CFURLSetTemporaryResourcePropertyForKey(CFURLRef url, CFStringRef key, CFTypeRef propertyValue); |
Boolean CFURLResourceIsReachable(CFURLRef url, CFErrorRef *error); |
Следовать ключи свойства поддерживаются для файла URLs. Соответствующие ключи свойства CFURL объявляются в CFURLAccess.h:
NSURLNameKey |
NSURLLocalizedNameKey |
NSURLIsRegularFileKey |
NSURLIsDirectoryKey |
NSURLIsSymbolicLinkKey |
NSURLIsVolumeKey |
NSURLIsPackageKey |
NSURLIsSystemImmutableKey |
NSURLIsUserImmutableKey |
NSURLIsHiddenKey |
NSURLHasHiddenExtensionKey |
NSURLCreationDateKey |
NSURLContentAccessDateKey |
NSURLContentModificationDateKey |
NSURLAttributeModificationDateKey |
NSURLLinkCountKey |
NSURLParentDirectoryURLKey |
NSURLVolumeURLKey |
NSURLTypeIdentifierKey |
NSURLLocalizedTypeDescriptionKey |
NSURLEffectiveIconKey |
NSURLFileSizeKey |
NSURLFileAllocatedSizeKey |
Следующие ключи свойства (и параллельные ключи свойства Core Foundation) объявляются, но не поддерживаются в этом выпуске:
NSURLLabelNumberKey |
NSURLLabelColorKey |
NSURLLocalizedLabelKey |
NSURLCustomIconKey |
NSURLVolumeLocalizedFormatDescriptionKey |
NSURLVolumeTotalCapacityKey |
NSURLVolumeAvailableCapacityKey |
NSURLVolumeResourceCountKey |
NSURLVolumeSupportsPersistentIDsKey |
NSURLVolumeSupportsSymbolicLinksKey |
NSURLVolumeSupportsHardLinksKey |
NSURLVolumeSupportsJournalingKey |
NSURLVolumeIsJournalingKey |
NSURLVolumeSupportsSparseFilesKey |
NSURLVolumeSupportsZeroRunsKey |
NSURLVolumeSupportsCaseSensitiveNamesKey |
NSURLVolumeSupportsCasePreservedNamesKey |
Ссылка на файл URLs
OS X v10.6 поддерживает новую форму файла URL, названный ссылкой на файл URL. URLs Ссылки на файл использует синтаксис пути URL, идентифицирующий файл (или каталог) по его объему ID и файл (или каталог) ID, во многом как идентификатор файла Файлового менеджера Углерода FSRef. Эта форма файла, URL остается допустимым, когда изменяется путь файловой системы URL’s, лежащего в основе ресурса. Новый APIs для доступа к свойствам ресурса файловой системы принимает файл URLs или по пути или по ссылочной форме.
Существующий APIs, генерирующий файл URLs, продолжает возвращать основанный на обычном контуре файл URLs. Приложения, для которых нужна независимая от пути ссылка на файл URL, должны запросить тот с помощью следующего нового APIs:
Новые методы NSURL (см. NSURL.h):
- (BOOL)isFileReferenceURL; |
- (NSURL *)fileReferenceURL; |
- (NSURL *)filePathURL; |
Новый базовый APIs Основы (см. CFURL.h):
CFURLRef CFURLCreateFileReferenceURL(CFAllocatorRef allocator, CFURLRef url, CFErrorRef *error); |
CFURLRef CFURLCreateFilePathURL(CFAllocatorRef allocator, CFURLRef url, CFErrorRef *error); |
Синтаксис ссылки на файл URL нужно считать непрозрачным, и может измениться от выпуска до выпуска. Следующий APIs был улучшен для обработки ссылки на файл URLs. Они автоматически возвращают путь целой файловой системы расположенного ресурса:
-[NSURL path] |
CFURLGetFileSystemRepresentation() |
CFURLCopyFileSystemPath() |
Ссылка на файл URL остается допустимым пока базовый ресурс, существует, и его объем смонтирован. Когда объем повторно смонтирован (включая то, когда система перезагружается), это присваивается новый объем ID. Поэтому ссылка на файл URLs, относящийся к исходному объему, больше не действительна.
Закладки
Закладки являются новым средством для генерации персистентных ссылок на ресурсы, идентифицированные URLs. Закладка является объектом данных, сгенерированным системой от ресурса URL. Когда закладка создавалась, данные закладки инкапсулируют длительную, непрозрачную ссылку на базовый ресурс, а также значение свойств ресурса, полученных. Закладка может быть сохранена в памяти или на диске и позже использоваться для доступа к значениям свойств ресурса, которые это содержит, или разрешенный для покрытия URL базового ресурса. В случае ресурсов файловой системы закладка способна к располагающимся ресурсам, перемещенным или переименованным, так как закладка создавалась, подобна для Искажения псевдонимов менеджера. Обратите внимание на то, что в этом выпуске, закладки решают только путем.
Следующие новые методы NSURL далее документируются в NSURL.h:
- (NSData *)bookmarkDataWithOptions:(NSURLBookmarkCreationOptions)options includingResourceValuesForKeys:(NSArray *)keys relativeToURL:( NSURL*)relativeURL error:(NSURL **)error; |
- (NSURL*)initByResolvingBookmarkData:(NSData*)bookmarkData options:(NSURLBookmarkResolutionOptions)options relativeToURL:(NSURL *)relativeURL bookmarkDataIsStale:(BOOL *)isStale error:(NSError **)error; |
+ (NSURL *)URLByResolvingBookmarkData:(NSData *)bookmarkData options:(NSURLBookmarkResolutionOptions)options relativeToURL:(NSURL *)relativeURL bookmarkDataIsStale:(BOOL *)isStale error:(NSError **)error; |
+ (NSDictionary *)resourceValuesForKeys:(NSArray *)keys fromBookmarkData:(NSData *)bookmarkData; |
Следующие новые функции CFURL далее документируются в NSURL.h:
CFDataRef CFURLCreateBookmarkData( CFAllocatorRef allocator, CFURLRef url, CFURLBookmarkCreationOptions options, CFArrayRef resourcePropertiesToInclude, CFURLRef relativeToURL, CFErrorRef* error ); |
CFURLRef CFURLCreateByResolvingBookmarkData( CFAllocatorRef allocator, CFDataRef bookmark, CFURLBookmarkResolutionOptions options, CFURLRef relativeToURL, CFArrayRef resourcePropertiesToInclude, Boolean* isStale, CFErrorRef* error ); |
CFDictionaryRef CFURLCreateResourcePropertiesForKeysFromBookmarkData( CFAllocatorRef allocator, CFArrayRef resourcePropertiesToReturn, CFDataRef bookmark ); |
CFTypeRef CFURLCreateResourcePropertyForKeyFromBookmarkData( CFAllocatorRef allocator, CFStringRef resourcePropertyKey, CFDataRef bookmark ); |
Copyright © 2015 Apple Inc Все права защищены. Условия использования | Политика конфиденциальности | обновленный: 05.06.2008