Mac의 "연결 프로그램" 메뉴에 프로그램을 추가하는 방법

Mac의 "연결 프로그램" 메뉴에 프로그램을 추가하는 방법

Mac의 "연결 프로그램" 메뉴에 프로그램을 어떻게 추가할 수 있나요?

답변1

문서를 마우스 오른쪽 버튼으로 클릭하면 나타나는 하위 메뉴를 의미합니까? 그렇다면 응용 프로그램이 처리할 수 있다고 주장하는 문서 유형을 기반으로 Launch Services에 의해 자동으로 생성됩니다. 응용 프로그램 패키지 내부를 살펴보면(응용 프로그램을 마우스 오른쪽 버튼으로 클릭하고 패키지 내용 표시 선택) Contents 폴더 안에 열 수 있는 문서 유형 배열을 포함하여 응용 프로그램에 대한 다양한 정보가 포함된 Info.plist 파일이 있습니다. (Apple의 개발 문서를 참조하세요.여기).

TLDR; 응용 프로그램이 해당 유형의 문서를 처리하는 경우 이미 나열되어 있어야 합니다. 그렇지 않은 경우 수동으로 추가하는 방법을 모르겠습니다.

답변2

수정하려는 파일 형식에 대해 "정보 가져오기" 창을 열면(파일이 선택된 동안 Ctrl 클릭 + "정보 가져오기" 또는 ⌘ command+를 I클릭) 프로그램을 원하는 프로그램으로 변경하고 "변경"을 클릭하세요. 모두". 나는 이것이 "연결 프로그램" 메뉴를 수정하여 클릭을 제어하고 "연결 프로그램"으로 이동하면 이제 새로운 기본값이기 때문에 해당 응용 프로그램을 표시한다는 것을 발견했습니다. 유일한 단점은 이를 기본값으로 설정해야 한다는 것입니다(이후에 다시 변경해 보았으나 달라붙지 않았습니다).

완벽한 솔루션은 아니지만 내 특별한 경우에는 충분히 잘 작동하고 다른 사람들에게도 유용할 수 있으며 plist 솔루션보다 더 쉽고 안정적이어야 합니다.

정보 얻기 스크린샷

macOS 하이 시에라 10.13.5(17F77)

답변3

스크립트 편집기나 Automator를 사용하여 앱용 드롭릿을 만든 경우 "연결 프로그램" 목록에 드롭릿을 추가하려면 다음을 수행할 수 있습니다.

  1. 언제나처럼,수정하려는 앱/시스템 파일의 백업 복사본을 저장하세요! -- just in case anything goes wrong

  2. 다음 앱에서 대상 파일 확장자 배열을 복사하세요.~이다앱 info.plist 파일의 "연결 프로그램" 목록에 나열되어 있는 항목을 대상 앱의 info.plist에 있는 CFBundleDocumentTypes 배열에 붙여넣습니다(앱을 마우스 오른쪽 버튼으로 클릭하고 "패키지 콘텐츠 표시" 선택). 이 예에서는 VLC droplet.app와일드카드 확장자(" *") 데이터를 info 파일의 몇 가지 파일 형식으로 바꾼 후 info 파일 의 이전/이후를 표시합니다 VLC.app.

"/Applications/VLC droplet.app/Contents/Info.plist":

전에:

<key>CFBundleDocumentTypes</key>
<array>
    <dict>
        <key>CFBundleTypeExtensions</key>
        <array>
            <string>*</string>
        </array>
        <key>CFBundleTypeOSTypes</key>
        <array>
            <string>****</string>
        </array>
        <key>CFBundleTypeRole</key>
        <string>Viewer</string>
    </dict>
</array>

후에:

<key>CFBundleDocumentTypes</key>
<array>
    <dict>
        <key>CFBundleTypeIconFile</key>
        <string>aiff.icns</string>
        <key>CFBundleTypeName</key>
        <string>AIFF file</string>
        <key>CFBundleTypeRole</key>
        <string>Viewer</string>
        <key>LSItemContentTypes</key>
        <array>
            <string>public.aiff-audio</string>
            <string>public.aifc-audio</string>
        </array>
    </dict>
    <dict>
        <key>CFBundleTypeExtensions</key>
        <array>
            <string>divx</string>
        </array>
        <key>CFBundleTypeIconFile</key>
        <string>movie.icns</string>
        <key>CFBundleTypeName</key>
        <string>DivX file</string>
        <key>CFBundleTypeRole</key>
        <string>Viewer</string>
    </dict>
    <dict>
        <key>CFBundleTypeIconFile</key>
        <string>m4v.icns</string>
        <key>CFBundleTypeName</key>
        <string>MPEG-4 File</string>
        <key>CFBundleTypeRole</key>
        <string>Viewer</string>
        <key>LSItemContentTypes</key>
        <array>
            <string>public.mpeg-4-audio</string>
            <string>com.apple.m4v-video</string>
            <string>public.mpeg-4</string>
        </array>
    </dict>
</array>
  1. 터미널을 열고 다음 명령을 입력하여 <TARGET_APP>info.plist를 편집 중인 앱 이름으로 변경하여 "연결 프로그램" 목록에 추가합니다.

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -f "/Applications/<TARGET_APP>.app/"

  1. Finder를 강제로 다시 시작하려면 명령을 입력하십시오 killall Finder.

애플리케이션이 서명된 경우 Info.plist 수정코드 서명을 무효화합니다.. 또한 10.8에서 실행 시 TextEdit 및 WriteRoom과 같은 몇 가지 응용 프로그램이 충돌합니다.

참고: 이 답변에 대한 정보 중 일부를 가져와 편집하여 좀 더 자세한 정보/설명으로 업데이트했습니다. 원본 스레드의 위치는 다음과 같습니다.여기.

관련 정보