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


답변:


102

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

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

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

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


7
CFBundleDisplayName은 알림 제목 (알림 센터, 잠금 화면 등)으로도 표시됩니다.
— Justin Russell

114
"모름"답변이 어떻게 확인 표시와 찬성표를 얻었습니까?
— badweasel 2014 년

14
내 요점은 아무도 그것이 사용되는 곳을 모르는 것 같고 아무도 아직 대답하지 않았다는 것입니다. 답을 아는 경우 "다른 답 추가"를 눌러 자유롭게 추가하십시오.
— Jonny

2
CFBundleDisplayName은 iTunes 파일 공유 기능에서도 사용됩니다. 검은 색으로두면 기능이 활성화되어 있어도 앱이 iTunes 목록에 표시되지 않습니다.
— unom

1
CFBundleName은 모든 것이 저장되는 앱 폴더 또는 "번들"의 이름이라고 가정합니다.
— kelin

100

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.


1
"메뉴 모음 및 응용 프로그램의 정보 창"이란? ??? -이것은 Xcode, 시뮬레이터 또는 iOS 장치의 무언가를 의미합니까? @xhan-도움이 필요하십니까?
— Ethan Parker

@BeemerFan은 OS X 메뉴 표시 줄을 의미합니다. xhan은 Apple의 문서를 인용했으며, 눈치 채시면 "iOS, Mac OS X"라고 표시되어 있으므로 두 가지 모두에 적용됩니다 (그리고 일부 세부 사항은 분명히 플랫폼에 따라 다릅니다).
— Chris Page

: 그냥 여기에 애플의 문서에서 CFBundleDisplayName에 대한 정보는, 소스를 인용하는 developer.apple.com/library/ios/documentation/General/Reference/...
— tylermilner

현지화를 계획하지 않는 한이 키를 포함하지 않는 것은 잘못된 것입니다. Apple 문서에는 Siri가 사용하기 때문에이 키를 포함해야한다고 나와 있습니다. developer.apple.com/library/archive/documentation/General/…
— defiant

1
Apple은 이제 적어도 2019-06-28 또는 최근 어딘가에 CFBundleDisplayName을 요구하는 것으로 보입니다. 이제 잘못된 이진 거부가 발생합니다.
— Dave Hubbard 19

29

바쁜 고양이

애플에 따르면

번들 표시 이름 :

표시되는 앱 이름 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 개발자 페이지에서 자세한 정보를 확인할 수 있습니다 .


19
도와 드릴 수는 없지만 궁금합니다. 값이 어떻게 사용되는지 보여주기 위해 스크린 샷을 찍는 데 어려움을 겪으려는 경우 값이 다르게 나타나도록 다른 값을 제공하는 것이 좋지 않았을까요?
— Richard Szalay 2016 년

15

내 경험에서 :

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

6
단순한 것을 복잡하게 만들기 위해 Apple.
— Duck (

Google 행 아웃에는 짧은 표시 이름과 스팸과 유사한 스팸과 같은 긴 이름이 있습니다.

1
CFBundleName은 "( CFBundleName )을 (를 ) 지금 설치할 수 없습니다. "와 같은 앱 설치 오류 메시지가 표시되는 경우에도 나타납니다 .
— saveknut

10

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

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

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


0

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.