[iphone] 코코아 응용 프로그램의 정보 목록에서 “번들 표시 이름”과 “번들 이름”의 차이점은 무엇입니까?

다음은 좋은 질문입니다.

번들 이름, 실행 파일 이름, 제품 이름 … 다른 것이 있습니까?

하지만 코코아 응용 프로그램의 정보 목록에서 “번들 표시 이름”과 “번들 이름”의 차이점이 궁금합니다.



답변

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

  • CFBundleDisplayName-표시 : 아이콘 아래 . 문서에 따르면 현지화해야하지만 앱 자체가 현지화 된 경우에만 해당됩니다.

  • CFBundleName-표시됨 : 잘 모르겠습니다 . 문서는 목록에서 사용되므로 최대 16자를 권장하지만 예를 들어 설정 → 일반 → 앱 사용 목록에서 CFBundleDisplayName실제로 사용합니다 . 지금까지 나는 이것이 정확히 어디에 사용되는지 결코 알지 못했습니다.

아, 이것은 iOS 앱용이며 다른 OS에서는 말할 수 없습니다.


답변

Wevah의 답변에 감사드립니다. 이 두 상수와 혼동 한 사람들을위한 설명입니다.

CFBundleDisplayName

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

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

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

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


CFBundleName

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


답변

바쁜 고양이

애플에 따르면

번들 표시 이름 :

표시되는 앱 이름 on the iPhone home screen은 iOS 앱 Info.plist의 CFBundleDisplayName (또는 Xcode에서 사람이 읽을 수있는 문자열 인 “Bundle display name”) 항목에서 가져옵니다.

마찬가지로, 당신은에서 볼 수있는 응용 프로그램 이름 WatchKit app's launch screen
notifications당신의 WatchKit 응용 프로그램의 Info.plist 파일의 CFBundleDisplayName에서 온다

번들 이름 :

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

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


답변

내 경험에서 :

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

답변

번들 표시 이름 ( CFBundleDisplayName)이 지정되지 않은 경우에만 CFBundleName앱 아이콘 아래 에 번들 이름 ( )의 값이 표시됩니다.

즉 유의하시기 바랍니다 CFBundleDisplayName지역화이며, 그것은 아이폰 OS 스프링 메뉴 및 맥 OS X 응용 프로그램 / 미션 컨트롤에 표시되는 앱의 이름을 설정하는 데 사용되어야한다.

요컨대, 터치하지 CFBundleName말고 그 값을 기본값으로 두십시오 ${PRODUCT_NAME}.


답변

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


답변