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


답변:


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 screennotifications당신의 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.