답변:
파일 유형 아이콘은 Launch Services (서비스가 파일 유형을 처리하는 응용 프로그램 결정)에 의해 처리됩니다. 파일 아이콘은 항상 파일 열기를 기본적으로 응용 프로그램에서 제공합니다. 예를 들어 미리보기는 기본적으로 PDF 아이콘과 PNG 아이콘을 제공하지만 Pixelmator를 사용하여 열도록 모든 PNG 파일을 변경하면이 파일은 나중에 Pixelmator 스타일 아이콘을 갖습니다.
당신이해야 할 것은 기본적으로 그것을 열 응용 프로그램에 파일 유형 정의를 추가하거나 파일 형식에 대한 자신의 "더미"응용 프로그램을 만듭니다 .
예를 들어, 내 시스템은 아직에 대해 알지 못해서 처리하고 .scala
싶습니다 TextMate
.
먼저, 텍스트 편집기 또는 Apple 개발자 도구의 일부로 패키지 내용 을 표시TextMate.app
하고로 이동하여 Contents/
엽니 다 .Info.plist
Property List Editor
TextMate는 Info.plist
일반적으로 이진 또는 XML에 대해 비정상적인 형식을 사용하며 다음과 같이 발췌됩니다.
CFBundleDocumentTypes = (
{ CFBundleTypeName = "ADA source";
CFBundleTypeExtensions = (adb, ads);
CFBundleTypeIconFile = ADA;
},
부모 키 CFBundleDocumentTypes
는 우리가 원하는 것입니다. 중괄호로 묶인 첫 번째 자식 요소에는 파일 유형 정의가 포함되어 있으며 이름 (Finder의 파일 유형 열의 경우), 파일 확장자 및 아이콘 파일 이름 ( ADA
for TextMate.app/Contents/Resources/ADA.icns
)으로 구성됩니다.
를 지원하기 위해 .scala
위와 비슷한 형제 요소를 동일한 부모 요소 아래에 추가해야합니다 CFBundleDocumentTypes
.
CFBundleDocumentTypes = (
{ CFBundleTypeName = "ADA source";
CFBundleTypeExtensions = (adb, ads);
CFBundleTypeIconFile = ADA;
},
{ CFBundleTypeName = "Scala source";
CFBundleTypeExtensions = (scala);
CFBundleTypeIconFile = ADA;
},
단순화하기 위해, 나는 동일한 아이콘 파일을 사용하고 있습니다 만, 우리는 하나에게 자신을 만들 수 있습니다 그것을 복사 TextMate.app/Contents/Resources/SCALA.icns
하고 그것을 참조 SCALA
에서 Info.plist
.
이제 TextMate가 실행 중이면 닫고 응용 프로그램 TextMate.app
을 다른 폴더 로 이동 한 다음 다시여십시오. 닫았다가 다시 옮긴 다음 다시여십시오. Launch Services는 Info.plist
방금 수행 한 변경 사항을 선택합니다 .
결과는 다음과 같습니다 (TextMate Ada 아이콘을 재사용했습니다 .scala
).
.scala
파일 을 열기 위해 응용 프로그램을 연결하지 않으려는 경우 (이유를 상상할 수는 없지만이를 수행 할 수있는 방법이 있습니다) : 파일의 추가 사항을 다음으로 변경하십시오.
{ CFBundleTypeName = "Scala source";
CFBundleTypeExtensions = (scala);
CFBundleTypeIconFile = ADA;
CFBundleTypeRole = "None";
},
이제 응용 프로그램은 파일 형식을 선언하지만 파일 형식을 처리하는 방법을 모른다고 시스템에 알려줍니다 (Apple은 글꼴 형식을 선언 할 수는 없지만 Finder는 글꼴 형식을 선언 할 수는 없지만).
* 파일 형식에 대한 영구 응용 프로그램 할당은 아이콘을 "알 수없는 문서"종류보다 우선합니다.
에 연결된 애플리케이션이 이미 .scala
있고 관련 애플리케이션을 변경하지 않고 파일 아이콘을 변경하려는 경우 :
응용 프로그램을 열고 Info.plist
에서 파일 유형 항목을 찾은 다음를 CFBundleDocumentTypes
가져옵니다 CFBundleTypeIconFile
. 이 파일을 수정하면 .../Contents/Resources/
곧 Finder에 반영됩니다.
보너스 정보 :
단일 문서 또는 폴더 아이콘을 이미지 파일로 변경하는 방법
~/Desktop/test.png
아이콘을 사용하려는 이미지가 있다고 가정 합니다 ( .scala
/ TextMate / Ada 아이콘 변경 을 설명하기 위해 위에서 사용한 스크린 샷 입니다).
열고 /Applications/Utilities/Terminal.app
입력하십시오 :
sips -i ~/Desktop/test.png
test.png
파일 아이콘이 이미지로 바뀝니다 . 재귀를 즐기기 때문에 다음을 시도해보십시오.
이전에 일반 미리보기 png
아이콘 (이미지 미리보기가 비활성화 됨) :
이미지 파일 자체는 미리보기입니다.
이제 파일의 정보 입수 대화 상자를 열고 왼쪽 상단에서 원하는 미래의 문서 아이콘을 클릭하여 Cmd-C
복사 한 다음 문서 파일의 정보 입수 대화 상자를 열고 왼쪽 상단의 원하지 않는 현재 문서 아이콘을 클릭하여 Cmd-V
붙여 넣을 수 있습니다. 우리가 원하는 아이콘.
또는 미리보기에서 아이콘으로 사용하려는 이미지 파일을 열고 Cmd-A
모두를 선택 Cmd-C
하여 이미지를 클립 보드에 복사 할 수 있습니다. 그런 다음 대상 문서의 정보 입수 대화 상자를 열고 왼쪽 상단에서 변경할 아이콘을 선택한 Cmd-V
다음 이미지를 붙여 넣습니다.
codesign --verify --verbose /Applications/TextMate.app
또는 비슷한 것. 무효화되면 방화벽에서 예외가 필요하거나 키 체인이 필요한 응용 프로그램에 대해서는이 작업을 수행하지 마십시오. 서명을 어지럽히면 무엇이 잘못 될 수 있는지 잘 모르겠습니다. (자세한 내용은 +1!)
touch
수정 날짜를 업데이트하려면 번들의 루트 레벨 이 필요할 수 있습니다. 그런 다음 Finder에서 응용 프로그램 / 번들 / 패키지를 선택 취소하고 다시 선택하고 수정 날짜가 Launch Services 데이터베이스의 캐시 된 정보보다 늦게 확인되면 다시 등록하여 변경 사항을 인식합니다. 당신은 만들었습니다.
TextMate.app: code object is not signed
나는 다시는 그것을하고 싶지 않습니다. 나는 그것이 진짜 문제라고 생각하지만, 나는 그것을 생각하지 않았다. 편집 : 다시 생각하면 사용자 정의 키보드 단축키도에 저장됩니다 Info.plist
. 그렇지 않은 경우 실제로 문제가되지 않을 수 있습니다. 유일한 문제는 앱 번들에 추가 아이콘 파일이 추가 된 것일 수 있습니다.
특정 파일 형식의 기본 프로그램으로 지정된 프로그램 내에서 ICNS 파일을 교체해야합니다.
1-원하는 아이콘의 이미지를 만든 다음 png 파일 형식으로 저장하십시오 (png는 투명도 지원).
2-png 파일을 icns 파일 형식으로 변환합니다 (FastIcns는 매우 훌륭하며 무료입니다).
3-CMD는 특정 파일 형식의 기본 앱으로 설정된 응용 프로그램을 클릭하거나 마우스 오른쪽 단추로 클릭 한 다음 패키지 내용 표시를 선택합니다.
4-응용 프로그램이 특정 파일 유형의 아이콘으로 지정하는 icns 파일을 찾으십시오.이 파일은 아마도 Resources라는 폴더에있을 것입니다.
5-생성 한 icns 파일의 이름을 바꾸려는 파일 이름과 정확히 동일하게 지정하십시오.
6-새로 만든 icns 파일을 복사하여 붙여 넣거나 끌어서 놓으려는 폴더로 끌어다 놓은 다음 옵션이 주어지면 바꾸기를 선택하십시오.
7-끝났습니다! 해당 파일 형식의 모든 아이콘이 원하는 새 아이콘으로 바뀌 었습니다.
이 문제를 항상 해결하는 방법은 해당 확장명을 가진 파일을 찾고»정보 입수 또는 Command-i를 마우스 오른쪽 단추로 클릭하면 정보 패널이 표시됩니다. 상단에는 현재 이미지에 사용되는 아이콘이 있습니다. 이미지 파일을 해당 파일로 끌어서 변경하거나 이미지를 복사 한 경우 변경할 이미지를 클릭하고 붙여 넣기를 수행하여 변경할 수 있습니다.