programing

코코아 응용 프로그램의 인포리스트에서 "번들 표시 이름"과 "번들 이름"의 차이점은 무엇입니까?

elseif 2023. 4. 29. 08:46

코코아 응용 프로그램의 인포리스트에서 "번들 표시 이름"과 "번들 이름"의 차이점은 무엇입니까?

여기 좋은 질문이 있습니다.

번들 이름, 실행 파일 이름, 제품 이름...또 다른 건 없으세요?

하지만 코코아 애플리케이션의 인포리스트에서 "번들 표시 이름"과 "번들 이름"의 차이점이 궁금합니다.

저는 다른 어떤 대답도 그 질문에 간결하게 대답하지 않는다고 생각합니다.

  • CFBundleDisplayName표시됨: 아래 아이콘.문서에 따르면, 는 현지화되어야 하지만, 앱 자체가 현지화된 경우에만, 그렇지 않으면 일종의 페널티가 있을 것입니다(만약 이것이 실제로 사실이라면 저는 말할 수 없습니다).

  • CFBundleName표시됨:저도 모르겠어요.문서에서는 최대 16자까지 권장되는 목록에 사용할 것을 제안하지만, 예를 들어 Settings→General→Matrix 앱 사용 목록이 있습니다.CFBundleDisplayName하지 못했습니다.지금까지 저는 이것이 정확히 어디에 사용되는지 알아내지 못했습니다.

아, 이것은 iOS 앱을 위한 것입니다. 다른 OS는 말할 수 없습니다.

웨바의 답변에 감사드립니다.여기 이 두 상수를 혼동한 사람들에 대한 설명이 있습니다.

CF 번들 화면표시 이름

CFBundleDisplayName(String - iOS, Mac OS X) 번들의 표시 이름을 지정합니다.번들의 지역화된 이름을 지원하는 경우 이 키를 정보 속성 목록 파일과 언어 하위 디렉터리의 InfoPlist.strings 파일 모두에 포함합니다.이 키를 현지화하는 경우 CFBundleName 키의 현지화된 버전도 포함해야 합니다.

번들을 현지화하지 않으려면 Info.plist 파일에 이 키를 포함하지 마십시오.이 키를 포함해도 번들 이름 표시에는 영향을 주지 않지만 이 키의 현지화된 버전을 검색하는 데 성능 저하가 발생합니다.

번들의 지역화된 이름을 표시하기 전에 파인더는 이 키의 값을 파일 시스템에 있는 번들의 실제 이름과 비교합니다.두 이름이 일치하면 Finder는 번들의 적절한 InfoPlist.strings 파일에서 현지화된 이름을 계속 표시합니다.이름이 일치하지 않으면 파일 시스템 이름이 표시됩니다.

Mac OS X의 표시 이름에 대한 자세한 내용은 파일 시스템 개요를 참조하십시오.


CF 번들 이름

CFBundleName(String - iOS, Mac OS X) 번들의 짧은 이름을 식별합니다.이 이름은 16자 미만이어야 하며 메뉴 모음과 응용 프로그램의 정보 창에 표시하기에 적합해야 합니다.이 키를 적절한 .lproj 하위 디렉터리의 InfoPlist.strings 파일에 포함하여 현지화된 값을 제공할 수 있습니다.이 키를 현지화하는 경우 키도 포함해야 합니다.CFBundleDisplayName.

바쁜 고양이

애플에 따르면,

번들 표시 이름:

표시된 앱 이름on the iPhone home screeniOS 앱의 Info.plist의 CFBundleDisplayName(또는 "BundleDisplayName"을 Xcode에서 사람이 읽을 수 있는 문자열로 사용) 항목에서 가져옵니다.

마찬가지로, 당신이 보는 앱 이름은WatchKit app's launch screen그리고.notificationsWatchKit 앱의 Info.plist의 CFBundleDisplayName에서 가져옵니다.

번들 이름:

The Apple Watch app on the iPhone현재 iOS 앱의 번들 이름(번들 표시 이름이 아님)을 사용합니다. 이 이름은 Info.plist의 CFBundleName(또는 "번들 이름") 항목에 의해 지정됩니다.

여기를 클릭하면 다른 관련 스크린샷을 볼 수 있고 Apple Developer 페이지에서 자세한 정보를 볼 수 있습니다.

내 경험에 비추어 볼 때:

  • CFBundleDisplayName은 iOS 기기의 앱 그리드에서 사용됩니다.
  • CFBundleName은 iTunes 라이브러리에 저장된 앱 목록에서 사용됩니다.

번들 표시 이름(CFBundleDisplayName)가 지정되지 않았습니다. 번들 이름(CFBundleName)는 앱 아이콘 아래에 표시되는 데 사용됩니다.

참고로CFBundleDisplayName는 현지화 가능하며, iOS Springboard 메뉴 & Mac OS X Applications / Mission Control에 표시된 App 이름을 설정하는 데 사용해야 합니다.

간단히 말해서, 만지지 마.CFBundleName값을 기본값으로 유지합니다.${PRODUCT_NAME}.

번들 이름은 HTTP 사용자 에이전트의 접두사로도 사용됩니다.

CFBundleName은 웹 인증 서비스 승인과 같은 시스템 팝업에서도 사용됩니다.

언급URL : https://stackoverflow.com/questions/3465792/whats-the-difference-between-bundle-display-name-and-bundle-name-in-cocoa-a