Mac에서 파일 형식의 아이콘을 설정하는 방법은 무엇입니까?


42

전체 시스템을 생각한 일부 파일 형식의 아이콘을 설정하는 방법은 무엇입니까?

예를 들어, .scala 확장자로 끝나는 텍스트 파일이 있고 전체 시스템과이 확장자의 새로 작성된 파일에 대해 해당 파일의 아이콘을 연관 시키려고합니다.

감사.


방금 MAC이라는 것을 알았지 만 어쨌든 Windows에서는 해당 파일 형식과 관련된 기본 응용 프로그램을 변경합니다. 그런 다음 파일은 해당 응용 프로그램의 아이콘을 사용합니다.
MrWhite

12
@ w3d : 그는 MAC에 있지 않고 Mac에 있습니다.
Wuffers

답변:


41

파일 유형 아이콘은 Launch Services (서비스가 파일 유형을 처리하는 응용 프로그램 결정)에 의해 처리됩니다. 파일 아이콘은 항상 파일 열기를 기본적으로 응용 프로그램에서 제공합니다. 예를 들어 미리보기는 기본적으로 PDF 아이콘과 PNG 아이콘을 제공하지만 Pixelmator를 사용하여 열도록 모든 PNG 파일을 변경하면이 파일은 나중에 Pixelmator 스타일 아이콘을 갖습니다.

당신이해야 할 것은 기본적으로 그것을 열 응용 프로그램에 파일 유형 정의를 추가하거나 파일 형식에 대한 자신의 "더미"응용 프로그램을 만듭니다 .


예를 들어, 내 시스템은 아직에 대해 알지 못해서 처리하고 .scala싶습니다 TextMate.

먼저, 텍스트 편집기 또는 Apple 개발자 도구의 일부로 패키지 내용표시TextMate.app 하고로 이동하여 Contents/엽니 다 .Info.plistProperty List Editor

TextMate는 Info.plist일반적으로 이진 또는 XML에 대해 비정상적인 형식을 사용하며 다음과 같이 발췌됩니다.

CFBundleDocumentTypes = (
    {   CFBundleTypeName = "ADA source";
        CFBundleTypeExtensions = (adb, ads); 
        CFBundleTypeIconFile = ADA; 
    },

부모 키 CFBundleDocumentTypes는 우리가 원하는 것입니다. 중괄호로 묶인 첫 번째 자식 요소에는 파일 유형 정의가 포함되어 있으며 이름 (Finder의 파일 유형 열의 경우), 파일 확장자 및 아이콘 파일 이름 ( ADAfor 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다음 이미지를 붙여 넣습니다.


2
확인해야 할 한 가지는 응용 프로그램의 디지털 서명을 무효화합니까? codesign --verify --verbose /Applications/TextMate.app또는 비슷한 것. 무효화되면 방화벽에서 예외가 필요하거나 키 체인이 필요한 응용 프로그램에 대해서는이 작업을 수행하지 마십시오. 서명을 어지럽히면 무엇이 잘못 될 수 있는지 잘 모르겠습니다. (자세한 내용은 +1!)
Arjan

1
BAH 편집 , 나는 처음으로 감추었 고 LS 업데이트를 강제하는 다른 방법을 보지 못했습니다. meh, FWIW : 응용 프로그램 (또는 번들 / 패키지)의 Info.plist를 변경 한 후 단 한 가지 : touch수정 날짜를 업데이트하려면 번들의 루트 레벨 이 필요할 수 있습니다. 그런 다음 Finder에서 응용 프로그램 / 번들 / 패키지를 선택 취소하고 다시 선택하고 수정 날짜가 Launch Services 데이터베이스의 캐시 된 정보보다 늦게 확인되면 다시 등록하여 변경 사항을 인식합니다. 당신은 만들었습니다.
NSGod

1
@Arjan 거기에 포인트가 있습니다. 불행히도, TextMate.app: code object is not signed나는 다시는 그것을하고 싶지 않습니다. 나는 그것이 진짜 문제라고 생각하지만, 나는 그것을 생각하지 않았다. 편집 : 다시 생각하면 사용자 정의 키보드 단축키도에 저장됩니다 Info.plist. 그렇지 않은 경우 실제로 문제가되지 않을 수 있습니다. 유일한 문제는 앱 번들에 추가 아이콘 파일이 추가 된 것일 수 있습니다.
Daniel Beck

1
Sublime Text의 xml Info.plist에서 변경하더라도 동일한 방법을 사용했습니다. 결과적으로 파일 연결은 작동했지만 관련 파일의 아이콘은 변경되지 않았습니다. 왜 이것이 효과가 없는지 아십니까?
gfrigon

2
파티에 조금 늦었지만 @Arjan에 동의해야합니다. Xcode ...와 같이 코드 서명 된 응용 프로그램이 있다면 ... Xcode ... 실제로 응용 프로그램이 손상되었다는 것을 알려주고 응용 프로그램을 삭제하고 App Store에서 다시 다운로드해야합니다. 내가 정말로 싫어하는 것은 Enthought Canopy와 같은 앱이 모든 확장 아이콘을 어떻게 납치했는지입니다. Apple은 실제로 시스템에 들어가는 파일 유형에 대한 기본 편집기를 설정하고 앱 연결과 같은 것들에 필요한 모든 변경을 수행해야합니다.
AMR

1

특정 파일 형식의 기본 프로그램으로 지정된 프로그램 내에서 ICNS 파일을 교체해야합니다.

1-원하는 아이콘의 이미지를 만든 다음 png 파일 형식으로 저장하십시오 (png는 투명도 지원).

2-png 파일을 icns 파일 형식으로 변환합니다 (FastIcns는 매우 훌륭하며 무료입니다).

3-CMD는 특정 파일 형식의 기본 앱으로 설정된 응용 프로그램을 클릭하거나 마우스 오른쪽 단추로 클릭 한 다음 패키지 내용 표시를 선택합니다.

4-응용 프로그램이 특정 파일 유형의 아이콘으로 지정하는 icns 파일을 찾으십시오.이 파일은 아마도 Resources라는 폴더에있을 것입니다.

5-생성 한 icns 파일의 이름을 바꾸려는 파일 이름과 정확히 동일하게 지정하십시오.

6-새로 만든 icns 파일을 복사하여 붙여 넣거나 끌어서 놓으려는 폴더로 끌어다 놓은 다음 옵션이 주어지면 바꾸기를 선택하십시오.

7-끝났습니다! 해당 파일 형식의 모든 아이콘이 원하는 새 아이콘으로 바뀌 었습니다.


이 답변은 어떤 OSX 버전과 관련이 있습니까? 메서드가 필연적으로 변경 될 때 타임 스탬프하기 만하면됩니다.
JoshP

0

이 문제를 항상 해결하는 방법은 해당 확장명을 가진 파일을 찾고»정보 입수 또는 Command-i를 마우스 오른쪽 단추로 클릭하면 정보 패널이 표시됩니다. 상단에는 현재 이미지에 사용되는 아이콘이 있습니다. 이미지 파일을 해당 파일로 끌어서 변경하거나 이미지를 복사 한 경우 변경할 이미지를 클릭하고 붙여 넣기를 수행하여 변경할 수 있습니다.


Mac OS X에서 응용 프로그램 아이콘어떻게 변경합니까? 의 이미지도 참조하십시오 . 미리보기에서 열 수있는 이미지는 미리보기에서 열어서 선택하고 Command-C를 사용하여 복사하여 아이콘으로 사용할 수 있습니다. 아이콘으로 사용하기위한 형식이 포함 된 이미지가 클립 보드에 표시됩니다. 그런 다음 기존 아이콘을 선택하고 Command-V를 사용하여 클립 보드를 붙여 넣습니다.
Arjan

3
작동하지 않습니다. .PNG 파일을 정보 화면의 이미지로 드래그하면 PNG의 이미지가 아닌 PNG 아이콘이 나타납니다. 또한 시스템 전체에서 동일한 확장자를 가진 모든 파일이 아닌 특정 파일을 변경합니다.
Eran Kampf
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.