macOS용 프로그램 Bundle ID 찾기
맥용 앱의 Bundle ID 찾기
CFBundleIdentifier란?
iOS/macOS에서 사용하는 어플리케이션 식별자로
어플리케이션의 고유한 값으로 이해하시면 됩니다.
그러면 각 어플리케이션이 하나만 가질 수 있나요?
그렇지 않습니다.
다만 OS에서 각 BundleID당 Application 하나를 맵핑하기 때문에
같은 ID로 만들었다고 하더라도 한개의 앱만 실행합니다!
그래서 코드에서도 보통 ProcessID가 아닌
실행중인 BundleID로 많이 비교하는것 같아요.
특히 macOS용 앱을 개발하다보면 이 BundleID로
다른 앱을 실행해야 하는 경우가 있습니다.
그래서 어떻게 ID를 찾을 수 있는지 방법을 정리해보려고 합니다ㅎㅎ
CFBundleIdentifier 찾기
Info.plist에서 확인
plist는 워낙 많이 들어보셨을것 같아요.
각 Application마다 plist작성은 필수인데 앱 패키지에 항상 들어있기 때문에
바로 Finder에서 찾아서 확인할 수 있습니다.
codesign 커맨드
$ codesign -dr - /System/Applications/TextEdit.app
Executable=/System/Applications/TextEdit.app/Contents/MacOS/TextEdit
designated => identifier "com.apple.TextEdit" and anchor apple
codesign 커멘드로도 identifier를 찾아낼 수 있습니다.
PlistBuddy 커맨드
$ /usr/libexec/PlistBuddy -c 'Print CFBundleIdentifier' "/System/Applications/TextEdit.app/Contents/Info.plist"
com.apple.TextEdit
PlistBuddy는 저도 처음 써봤는데 codesign 명령보다
조금 더 많은 파라미터가 필요하네요.
Info.plist의 정확한 위치도 알고 있어야 하구요 ㅎㅎ
오늘은 맥에서 앱 BundleID를 GUI/CLI로 찾아보는 방법에 대해서 알아보았습니다~!
참고: https://www.macosadventures.com/2022/05/09/app-bundle-identification/
Leave a comment