2011-08-06 3 views
1

파일 작성자 코드/유형 코드에 따라 사용자 정의 아이콘을 표시하려면 어떻게해야합니까? 예를 들어, 작성자 코드 'TSTx'로 파일을 여는 응용 프로그램이 있는데, 작성자 코드 아이콘을 어떻게 설정합니까?OSX에서 작성자 코드 아이콘 표시

Cyberduck과 같은 응용 프로그램이 파일 확장명을 변경하지 않고 파일을 다운로드 할 때 진행 아이콘을 표시하는 방식을 추측합니다. 이는 복제하려는 동작입니다.

감사합니다, J 당신은 이것에 대한 제작자와 유형 코드에 의존해서는 안

답변

3

. 모든 파일에 할당 된 것은 아닙니다. 사실 모든 앱에 고유 한 제작자 코드가있는 것은 아니기 때문에 깨지기 쉽습니다.

파일이 파일 시스템에 존재하고 적절한 경로 확장자가있는 경우 -[NSWorkspace iconForFile:]이 트릭을 수행해야합니다. 파일을 파일 시스템에 존재하지 않으면 (예를 들어, 데이터베이스에 저장되어 있기 때문에), -[NSWorkspace iconForFileType:]이 최선의 방법입니다. 경로 확장자를 제공하거나, 주장하는 경우 HFS 유형 코드 (the NSFileTypeForHFSTypeCode function으로 문자열을 묶어야 함)로 제공 할 수 있습니다.

Finder에서 사용할 사용자 지정 아이콘을 설정하려면 형식 및 작성자 코드가 필요하지 않습니다. -[NSWorkspace setIcon:forFile:options:]을 사용하십시오.

+0

답장을 보내 주셔서 감사합니다.하지만이 경우에는 작성자 코드와 유형 코드가 있음을 보증 할 수 있습니다. 코드를 기반으로 Finder에 아이콘을 표시하면됩니다. 파일 확장자는 동일하지만 아이콘이 일시적으로 변경되는 Cyberduck의 동작을 재현하려고하므로 확장은 유효한 옵션이 아닙니다. – JWood

+0

혼란스러워합니다. 앱에 아이콘을 표시하거나 Finder에서 맞춤 아이콘을 설정 하시겠습니까? Finder에서 사용할 사용자 정의 아이콘을 설정하려면 유형 및 작성자 코드가 필요하지 않습니다. '- [NSWorkspace setIcon : forFile : options :]'를 사용하십시오. (이 옵션을 포함하도록 내 대답을 편집했습니다.) – gcbrueckmann

+0

파인더에 아이콘을 설정하고 싶지만 NSWorkspace setIcon : forFile : options'은 파일을 쓰기 가능하도록 요구하므로 옵션이 아닙니다 (필자는 추측하고 있습니다.) 리소스 포크를 업데이트합니까?). 파일 시스템은 읽기 전용이지만 일부 파일에는 특정 HFS 유형 코드가 들어 있습니다. Finder에서 읽는 파일 데이터가 아이콘을 만들지 못하도록 정적 아이콘과 연결하기 만하면됩니다. – JWood