2017-04-20 7 views
1

나는이UTTypeCreatePreferredIdentifierForTag가 이상한 UTI를 반환하는 이유는 무엇입니까?

import UIKit 
import MobileCoreServices 
import Foundation 

var fileExtension:CFString = "7z" as CFString 
var unmanagedFileUTI = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, fileExtension, nil)?.takeRetainedValue(); 
print(unmanagedFileUTI) 

나는 결과로

dyn.age8xs8u

를 얻을 호출하는 경우. age8xs8u에 관한 정보를 찾지 못했습니다. 7z에 대한 올바른 UTI입니까?

+1

https://developer.apple.com/reference/coreservices/1448939-uttypecreatepreferredidentifierf에서 문서 : * "결과가 없으면이 함수는 dyn 접두사로 시작하는 동적 유형을 만듭니다."* –

+0

다음 문장의 의미는 무엇입니까? "* 이렇게하면 UTI를 전달하고 원래 태그로 다시 변환 할 수 있습니다. *"UTTypeCreatePreferredIdentifierForTag에 의존해야합니까? " UTI는 설치된 앱과 관련이 있습니까? – testing

+1

즉, MobileCoreServices 프레임 워크는 "7z"파일 확장자에 대해 알지 못하고 응용 프로그램을 등록하지 않았으므로, 설치된 응용 프로그램에 따라 다를 수 있습니다. –

답변

1

즉, "7z"파일 확장명은 MobileCoreServices 프레임 워크에 알려져 있지 않으며 설치된 응용 프로그램에서 등록되지 않았습니다. 이 경우 UTTypeCreatePreferredIdentifierForTag() 만들고 임시 UTI 반환 아무 결과가 발견되지 않는 경우

,이 기능은 DYN 접두어로 시작하는 동적 유형을 만듭니다. 이렇게하면 UTI를 전달하고 원래 태그로 다시 변환 할 수 있습니다.

이 함수는 inTagClass 인수가 유효하지 않은 경우에만 nil을 반환합니다. 유효한 태그 클래스 인수를 사용하면 임의의 파일 식별자에 대해 항상 UTI가 반환됩니다.

반환 값의 접두사가 "dyn"인지 확인할 수 있습니다. 리턴 된 UTI가 동적으로 작성된 UTI인지 또는 등록 된 UTI인지를 확인하기 위해 을 점검하십시오.

https://en.wikipedia.org/wiki/7z에 따르면, 7z 파일 형식의 UTI는 "org.7-zip.7-zip-archive"입니다.