되지 현대화 수있는 방법 : FSPathMakeRef
, FSIsAliasFile
, FSResolveAliasFileWithMountFlags
, FSRefMakePath
을.
도움이 될 것입니다.내가 FSPathMakeRef, FSIsAliasFile, FSResolveAliasFileWithMountFlags, FSRefMakePath
// 1) FSPathMakeRef ** // 여기에 FSIsAliasFile 사용되지 않는
// 2error = FSPathMakeRef((UInt8*)[filename fileSystemRepresentation], &ref, &isFolder);
if (error) return NO;
) * //
// 3error = FSIsAliasFile(&ref, &isAlias, &isFolder);
if (error) return NO;
if (isAlias)
{
if (isFolder) return YES;
) 여기에 사용되지 FSResolveAliasFileWithMountFlags * 사용되지 않는 //
error = FSResolveAliasFileWithMountFlags(&ref, true, &isFolder, &isAlias,
kARMMountVol | kARMNoUI | kARMMultVols | kARMSearch);
if (error) return NO;
if (isFolder) return YES;
// 4) 여기 CFURLCreateFromFSRef 에게 * 현대적인 접근 방식은 파일 위치를 나타 내기 위해 NSURL
의를 사용하는 것입니다 //
fileURL = CFURLCreateFromFSRef(kCFAllocatorDefault, &ref);
filepath = (NSString*)CFBridgingRelease(CFURLCopyFileSystemPath(fileURL, kCFURLPOSIXPathStyle));
CFRelease(fileURL);
감사합니다. Ken! 나는 당신의 접근 방식에 따라 코드를 수정할 것이다. 문제를 만난다면 나는 당신의 도움을 의지 할 수 있기를 바랍니다. 빠른 응답에 대해 특별히 감사드립니다. – sundsx
문제는 FSIsAliasFile()이 3.7tantypeOfFile : error :] 더하기 – Leonardo
@ Leonardo인데, 키 NSURLIsAliasFileKey를 사용하여'- [NSURL getResourceValue : forKey : error : ]'을 시도 할 수 있다는 것입니다. 그것은 UTI 접근보다 빠를 수도 있습니다. 또한 속도가 중요한 빈도로이 작업을 수행하고 있습니까? –