ProgramingTip

Xcode9 iOS11 앱 릴리스에서 CFBundleIconName 누락

bestdevel 2020. 10. 28. 20:22
반응형

Xcode9 iOS11 앱 릴리스에서 CFBundleIconName 누락


iOS 11 SDK로 빌드 된 Xcode 9를 사용하여 새로운 버전의 앱을 사용하는 데 어려움을 겪고 있습니다. 바이너리 보관 및 업로드는 문제없이 잘 진행됩니다. 빌드는 iTunes Connect에서 활동 아래에 'processing'으로 사라지고 사라지고 다음 이메일이 다시 수신됩니다.

개발자 님,

''에 대한 최근 전송에서 하나 이상의 문제를 발견했습니다. 배송을 처리하려면 다음 문제를 수정해야합니다. Info.plist 값 누락 -Info.plist 키 CFBundleIconName의 값이 ''에 없습니다. 자산 카탈로그에서 아이콘을 제공하는 앱은이 Info.plist 키도 제공해야합니다. 자세한 내용은 http://help.apple.com/xcode/mac/current/#/dev10510b1f7을 참조 하십시오 . 문제가 수정되면 수정 된 바이너리를 다시 제공 할 수 있습니다. 감사합니다. App Store 팀

링크는 자산에 대한 정보를 제공합니다. CFBundleIconName 키를 프로젝트 이름 또는 이미지 파일 이름으로 설정하려고 시도하고 앱을 다시 장식했습니다. 그러나 여전히 위와 같은 이메일을받습니다.

도움의 제안은 매우 감사하겠습니다.


나는 이것으로 하루 종일 밤낮으로 내가 생각할 수있는 모든 순열을 시도하고 마침내이 해결책을 찾았습니다. 이런 악몽을 선호하는 사람은 구할 수 있기 때문입니다.

내 앱은 이전에 xcassets 카탈로그를 사용하지 않았기 때문에 File-New-File ...을 사용하고 파일 유형에서 자산 카탈로그를 선택 하여이 문제를 해결하려고 할 때 프로젝트에 하나를 추가했습니다. 이름을 Assets.xcassets로 지정했습니다. xcode 프로젝트에서 선택했습니다. 그런 다음 오른쪽 영역을 마우스 오른쪽 버튼으로 클릭하고 앱 아이콘 및 실행 이미지를 추가하고 새 iOS 앱 아이콘을 선택한 다음 1024x1024 이미지를 앱 스토어 iOS 1024pt 업데이트의 우물로 드래그했습니다. 하지만 보관 처리하고 스토어에 승인을 거부합니다.

Info.plist 값 누락 -Info.plist 키 CFBundleIconName의 값이 없습니다. bla bla bla ...

또한 CFBundleIconName에서 "Icon Name"의 Info.plist에 키를 추가하고 프로젝트의 1024x1024 이미지와 일치하는 파일 이름으로 설정했습니다. IPA 내용을 확인했지만 모든 것이 확인 되었음에도 불구하고 작동하지 않습니다.

마지막으로 Assets.xcassets라는 카탈로그에서 AppIcon을 삭제하여 비어 있고 문제를 해결하기 위해 다음을 수행했습니다.

앱 이름을 클릭 한 다음 일반 탭을 선택하여 앱의 기본 설정으로 이동 한 다음 앱 아이콘 및 실행 이미지 섹션에서 앱 아이콘 소스 옆에있는 버튼을 클릭하고 자산 카탈로그 사용을 선택합니다. 자산 카탈로그 이름을 선택합니다. 내 이름은 Assets.xcassets입니다. 팝업에있는 버튼을 사용하여 앱을 변환 (마이그레이션)하라고합니다. 또한 실행 이미지를 변환하는 선택했습니다. 완료되면 앱 아이콘 소스와 실행 이미지 소스에 이름이 있습니다. 드롭 다운 목록에서.

그것을 클릭하여 자산 카탈로그로 이동하십시오. 다시 내 자산은 Assets.xcassets였습니다. 그런 다음 AppIcon 섹션을 클릭하고 1024x1024 이미지를 App Store iOS 1024pt 웰 / 끌어서 드래그하십시오. 이 시점에서 앱을 마지막으로 한 번 보관하고 앱 스토어에 출시하십시오.이 시점에서 앱 스토어에 전화를 걸기 시작했을 때 지옥에서 더 이상 이메일을받을 수 있습니다.

행운을 빕니다-나는 당신이 단지 풀리지 않은 많은 합당한 수정을 시도했을 때이 대부분의 비밀스러운 오류로 느끼는 고통에 공감합니다. 이것이 소프트웨어 엔지니어의 삶입니다 ...;)

쉬웠다면 모두가 할 것입니다. ;)


가장 간단한 솔루션은 plist에 CFBundleIconName 키를 추가하고 자산 카탈로그의 모든 AppIcon을 채우는 것입니다.

Info.plist :

<key>CFBundleIconName</key>
<string>AppIcon</string>

여기에 이미지 설명 입력

여기에 이미지 설명 입력

여기에서 작동하는 AppIcons 자산 다운로드


나는 Xcode 9 iOS 11 빌드 이후 iTunes Connect App Icon이 바이너리 자체와 함께로 제공한다는 것을 포함하고 있습니다. Xcode의 이전 버전 (XCode 8.3.3 이전 버전)에서 직접 iTunes Connect에 추가 할 수 있습니다.

App Store를 통해 앱을 배포하는 경우 Xcode 프로젝트에있는 자산 카탈로그에 App Store 아이콘을 추가하십시오. 아이콘의 위치는 플랫폼에 따라 늘어서 있습니다.

Xcode 8.3.3 및 이전 버전을 사용하여 빌드 된 iOS 및 watchOS 앱의 경우 iTunes Connect에 App Store 아이콘을 추가합니다. macOS 및 tvOS 앱의 경우 App Store 아이콘을 Xcode 프로젝트에 추가하지만 자산 카탈로그의 위치는 Xcode 9 이상으로 빌드 된 앱과 추가합니다.

필수 App Store 아이콘은 App Bundle에있는 자산 카탈로그에 있어야합니다.

App Store 아이콘 추가

따라서 CFBundleIconName은 이제 AppIcon (통신) 또는 사용자가 설정 한 값으로 설정합니다.

iTunes 아카이브 업로드 프로세스가 통과되지 않은 이미지를 다음 크기의 모든 앱 아이콘 추가해야합니다.

  • 20 점 1x, 2x, 3x
  • 29 점 1x, 2x, 3x
  • 40pt 1x, 2x, 3x
  • 60 점 1x, 2x, 3x
  • 76pt 1x, 2x
  • 83.5pt 2 배
  • 1024pt 1x

이제 자산 카탈로그를 사용하여 앱 아이콘을 지정해야합니다.


내 앱 중 하나의 새 버전에 대한 바이너리를 건축 할 때마다 예배를드립니다. 여기에 모든 치료법을 시도했지만 효과가 없었습니다. 그런 다음 효과가있는 변경 사항을 하나 더 만들었습니다.

에서 대상. . . 빌드 설정. . . 자산 카탈로그 컴파일러-옵션 섹션에서 아이콘이 포함 된 자산 카탈로그의 이름이 자산 카탈로그 앱 아이콘 세트 이름에 표시 확인하십시오 . 어떤 정보 내 자산 카탈로그 앱 아이콘 세트 이름 이 비어 있습니다.


iOS 11 이상 SDK로 빌드 된 앱은 자산 카탈로그에 앱 아이콘을 제공해야하며, Info.plist 키에 대한 값도 제공해야합니다.

자산 카탈로그가없는 이전 프로젝트의 경우 Appstore에 출시하는 동안 문제가 발생합니다.

프로젝트에서-> 대상 속성-일반 탭-> 앱 아이콘 및 시작 이미지. 앱 아이콘 —> 자산 카탈로그 사용을 선택합니다. 그런 다음 경고와 함께 변환 (마이그레이션)을 요청하고 .xcassets 파일을 생성합니다. 시작 이미지도 변환 선택을 선택하십시오.
완료되면 앱 아이콘 소스와 실행 이미지 소스의 이름이 드롭 다운 목록에 표시됩니다. 앱 아이콘 및 기타 아이콘을 추가하십시오.


이제 IOS 11에서는 프로젝트에 1024x1024 크기의 새 아이콘을 추가해야합니다.

소스 코드 제거의 리소스 폴더에서 아이콘 파일이 제거되고 info.plist의 아이콘 파일 키도 지워 졌는지 확인합니다. 또한, plist에 CFBundleIconName 키를 추가하십시오.

Info.plist :

<key>CFBundleIconName</key>
<string>AppIcon</string>

또한 프로젝트-대상-> 빌드 설정-> 자산 카탈로그 컴파일러-섹션에서하십시오 아이콘이 포함 된 자산 카탈로그의 이름이 자산 카탈로그 앱 아이콘 세트 이름에 표시 확인 확인.


나는 같은 문제를 가지고 다음과 같이 해결했습니다.

다음은 단계별 지침입니다.

1 단계 :

1024 * 1024.png로 아이콘 만들기

2 단계 :

이 png를 https://www.appicon.build/ 웹 사이트에 업로드 하고 화면에 끌어다.

여기에 이미지 설명 입력

3 단계 :

이메일 주소를 입력 한 메시지가 표시됩니다. 그것을 입력하고 몇 초 후에 필요한 모든 이미지 크기를 사서함에 가져옵니다. 압축 된 폴더를 다운로드하고 압축을 풀니 다.

4 단계 :

프로젝트 Xcode로 돌아가서이 압축이 풀린 폴더 (AppIcon.appconset라고 함)를 xcode 프로젝트의 리소스 폴더에 추가합니다.

여기에 이미지 설명 입력

5 단계 :

Asset.xcassets폴더를 두 번 클릭 하고 생성 이미지에서 2x 및 3x 이미지에 대한 이미지 자리 표시 자에 필요한 이미지를 끌어다.

여기에 이미지 설명 입력

당신은 갈 수 있습니다! ...


나도 "Missing Info.plist value-A value for the Info.plist key CFBundleIconName is missing in the bundle ..." 오류가 발생하여 다음 사람을 위해 간결한 답변을 남기고 싶었습니다.

앱이 자산 카탈로그를 사용하지 않습니다. 이것이 말하는 것이 말하는 것이 문제를 해결하는 데 필요한 것이 비용을 추가하는 방법이 중요합니다. 이 누락 된 키 \ 값을 .plist에 수동으로 추가하는 것만 충분하지 않습니다. 그것보다 더 많은 것이 있습니다. 또한 .plist에서 CFBundleIcons 값을 제거해야합니다. 이 작업은 수동으로 수행 할 수 있도록 XCode 인터페이스를 사용하여 프로젝트 속성-일반 앱 아이콘 및 시작 이미지를 통해 편집하는 것이 좋습니다. 그것이 내가 일하게 한 방법입니다.

아래는 내 .plist에 대한 변경 사항의 스크린 샷입니다.

.PList 업데이트

앱 아이콘 및 실행 이미지

아직없는 경우 새 자산 카탈로그를 프로젝트에 추가하십시오.
네비게이터 창 상단에있는 앱 이름을 클릭합니다
. 일반 탭을 선택합니다
. "앱 아이콘 및 이미지 실행"섹션까지 아래로 스크롤합니다. "
자산 카탈로그 사용"버튼을 클릭합니다.
참고 : 자체 생성 카탈로그 및 iOS 앱 아이콘 이미지를 받았습니다. 설정 기존의 이미지에 연결하면 값이 비어있는 새 이미지 세트가 만들어 졌기 때문에 작동하지. 나는 배포를 모두 생성하고 삭제하고 프로세스가 나를 위해 요청해야한다. 지금 막이 문제를 해결하기 위해 자산 카탈로그를 추가하는 경우이 프로세스에서 자동으로 활성화하고 이미지 세트를 수동으로 추가 생성하지 않습니다.

클릭하여 앱 변환 /
마이그레이션 버튼을 클릭 한 후 자동으로 고쳐지는 항목이 없습니다. 다른 곳으로 이동 한 다음 설정 화면으로 돌아가서 이제 드롭 다운 목록에 값이 할당되었습니다.

이제 새 자산 카탈로그를 클릭하여 정렬 다
. "AppIcon"섹션을 클릭하고 필요한 이미지를 위치로 드래그합니다.

App Store iOS 1024pt 아이콘 및 기타 iPhone \ iPad \ Universal 앱 필수 아이콘에 대한 1024x1024 이미지가 필요합니다. 1024x1024 픽셀 이미지는 마케팅 아이콘이라고도합니다. 그것 없이는 앱을 사용할 수 없습니다.

이제 앱을 보관하고 앱 스토어에 출시 할 수 있습니다.


위의 답변이 도움이되지 않은 사람을 위해 (이것에 대해 머리 벽을 두드리는 데 많은 시간을 보라고) :

자산 디렉토리의 대상 멤버십을 확인하십시오! 여기에 멤버십을 여기서 연결하지 않는 것과 동일한 슈퍼 일반 오류가 발생합니다 (Apple은 오류 메시지에 대해 조치를 취해야합니다).

여기에 이미지 설명 입력

대상 멤버십은 아이콘을 사용 대상과 직접 연관되어야합니다. 예를 들어, 기본 앱과 시계 앱 자산 모두 에이 단일 디렉터리를 사용하고 구성원을 선택하여 지정해야합니다.

plist를 전혀 편집 할 필요가 없습니다. 대부분의 답변은 오해의 소지가 있습니다.

이 사람에게 도움이되기를 바랍니다!


아래 단계를 수행하십시오.

  1. 프로젝트에서 새 파일 >> 자산 카탈로그를 추가하십시오.
  2. XCODE >> General >> App Icons에서 프로젝트를 클릭합니다. 스크린 샷을 참조하십시오 . 그러면 Appstore 아이콘과 기타 아이콘을 끌어서 놓을 수있는 자산 내부에 AppICon 및 LaunchImage 사양이 자동으로 생성됩니다.

  3. 또한 .
    <key>CFBundleIconName</key>
    <string>AppIcon</string>

plist 파일 의이 항목입니다.

바이너리를 Itunes에 업로드하세요.


마침내 CFBundleIconName과 같은 info.plist에 키를 추가하지 않아도되는 문제에 대한 해결을 찾았습니다. SDK 11.2를 기반으로 빌드하기 위해 앱 스토어에서 이전 앱을 업데이트하는 동안이 작업을 수행했습니다 (그리고 상당한 좌절감이 작업을 수행했습니다). PC의 Visual Studio에서 Xamarin을 사용하고이 솔루션은 XCode와 같은 다른 IDE 또는 프레임 워크에서 작동해야합니다. 솔루션의 요점은 info.plist 파일과 리소스 폴더가 앱 아이콘과 실행 이미지에 관한 한 더 이상 어떤 역할도 할 필요가있는 것입니다. info.plist 파일에서 CFBundleIconFiles 키를 제거 할 수 있으며 프로젝트에 영향을 미치게됩니다.

따라야 할 단계는 다음과 가변합니다.

  1. 앱 아이콘의 사본을 만들고 이미지를 실행하여 별도의 위치에 저장합니다.
  2. 깨끗한 시작을 위해 앱 아이콘에 대한 참조를 삭제하고 info.plist에서 이미지를 시작합니다. 즉, CFBundleIconFiles 키 아래의 값을 삭제합니다.
  3. 리소스 폴더에서 앱 아이콘을 삭제하고 이미지를 시작합니다.
  4. 삭제 옵션을 사용하여 '자산 카탈로그'에서 선언 한 '자산'또는 '미디어'를 삭제하십시오.
  5. Assets.xcassets 또는 Media.xcassets (또는 유사한 이름의 .xcassets 폴더) 이름의 폴더가 여전히 프로젝트에있을 수 있습니다. 리소스 폴더 외부 또는 내부에 있습니다. 모든 .xcassets 폴더를 삭제합니다.
  6. 이제 메모장과 같은 편집기 (예 : Visual Studio의 .csproj)에서 프로젝트 파일을 열고 .xcassets 폴더의 파일을 가리키는 참조가 있는지 확인합니다. 이러한 모든 참조를 삭제하십시오. 또한이 파일의 Resources 폴더 아래에 앱 아이콘이나 시작 이미지를 가리키는 참조가 없는지 확인하고 삭제합니다.
  7. XSAppIconAssets 및 XSLaunchImageAssets 키가 더 이상 info.plist에 없는지 확인하십시오. 여전히 존재하는 경우 삭제하십시오.
  8. 이 시점에서 이전 파일이나 앱 아이콘에 대한 참조를 제거하고 프로젝트에서 이미지를 시작했습니다. 여전히 존재하는 경우 돌아가서 삭제하십시오. 이제 새로 시작하려면 프로젝트에 .xcassets 폴더를 만드는 '자산 카탈로그'아래에 새 '자산'또는 '미디어'를 만듭니다. 1 단계의 앱 아이콘 (필요한 경우 실행 이미지)을 새 .xcassets 폴더 아래의 각 폴더에 복사합니다. 필요한 모든 이미지가 포함되어 있는지 확인하십시오.
  9. 이제 info.plist에 새로 만든 '자산'에 대한 XSAppIconAssets (및 필요한 경우 XSLaunchImageAssets) 키 값이 포함되어 있는지 확인합니다. 이제 프로젝트 파일 (Visual Studio의 .csproj)에는 새 '자산'에 추가 한 각 이미지에 대한 참조가 포함되어야합니다. 프로젝트에 필요한 것보다 추가 이미지가 필요하지 않습니다. 자산에서 추가 이미지를 삭제하는 것이 좋습니다.
  10. 다른 솔루션에서 언급 한대로 CFBundleIconName이라는 키를 추가 한 경우 info.plist에서이 키를 삭제하십시오. 필요하지 않습니다. 이제 스토어에 앱을 제출할 준비가되었습니다.

info.plist를 편집 할 필요가 없습니다. 아이콘 관련 오류는 images.xcassets에서 AppIcon의 모든 이미지 자리 표시자를 채우면 해결됩니다 .


Visual Studio 17 (v-15.2) 버전을 15.2로 업데이트하면 문제가 발생했습니다. AssetCatalog> Media> AppIcons에 App-Icon-1024x1024 자리 표시자가 표시됩니다.

여기에 이미지 설명 입력


모든 앱 개발자는 유명한 "Icon Dog"를 사용합니다.

(이름을 바꾼 것은 유감입니다!)

여기에 이미지 설명 입력

https://itunes.apple.com/us/app/app-icon-set-creator/id1052532083?mt=12

그것은 일종의 컬트 인 iOS 개발자가 사용하는 # 1 가장 인기있는 앱입니다.

모든 문제를 즉시 해결합니다.


내 상황에서는 이 페이지에서이 모든 작업을 완료 한 후에는 프로젝트를 다시 보관하는 것을 잊지 마십시오. :)


iOS 11 앱용 Xcode 9.2의 경우 몇 가지 사항을 명확히해야합니다.

1-이 오류는 자산 카탈로그에 아이콘 자산이 없어야합니다.

(자산 카탈로그가없는 앱을 제출하여이 오류가 발생했습니다.)

2-이 오류는 필수 아이콘이있는 자산 카탈로그를 추가하여 해결됩니다.

(제 경우에는 iPhone 전용 앱이었고 120x 및 180x 인 자리 표시 자 이미지를 추가했습니다.)

3-이 오류는 1024x1024 "App Store 아이콘"과 관련이 없습니다.

(더 큰 상점 아이콘을 잊어 버리면이 오류가 아닌 별도의 특정 오류가 표시됩니다.)

4- Apple 문서와 달리 (iOS 11 용으로 작성된 Xcode 9 +) 웹 사이트를 사용하여 App Store 아이콘을 제출할 수도 있습니다.

(위에서 언급 한 별도의 특정 오류가에 의해 트리거 의 부족 아이콘이 아니라 제출 된 빌드의 아이콘이없는 경우).

5- Info.plist에서 누락 된 CFBundleIconName이 변경되지 않았습니다.


이 문제에 대해서도 많은 문제가있었습니다. CFBundleIconName 누락과 내 아이콘이 발견되지 않는 오류가 계속 발생했습니다. 그래서 여기에 제 이야기가 있습니다. 아마도 누군가에게 도움이 될 것입니다. 그건 그렇고, 저는 Xamarin과 함께 Visual Studio를 사용하고 있습니다.

  1. AppIcons를 사용하여 프로젝트에 자산 카탈로그를 추가합니다 (자산의 실제 이름은 중요하지 않지만 응용 프로그램 아이콘에 대한 것입니다). 필요한 아이콘 크기를 모두 추가하십시오. 'App Store'아이콘의 경우 포럼에서 누군가가 제안한대로 이름에 @가없는 아이콘을 추가했지만 100 % 필요한지 확실하지 않습니다. 다양한 아이콘 크기를 생성하려면이를 수행 할 수있는 웹 사이트와 도구가 많이 있으며 1024x1024 만 제공하면됩니다. 나머지는 생성됩니다.

  2. Info.plist의 'Visual Assets'와 'App Icons'아래에있는 소스를 방금 만든 자산으로 설정합니다.

  3. 이제 Info.plist를 확인하십시오. 프로젝트를 빌드하면 모든 변경 사항을 덮어 쓰므 로 외부 편집기로 열지 마십시오 . 다음을 수행하십시오-솔루션 탐색기에서 Info.plist를 마우스 오른쪽 단추로 클릭 한 다음 연결 프로그램-> 일반 PList 편집기를 선택하십시오.

  4. 다음 항목이 있는지 확인하십시오.

    -Property = CFBundleIconName, 유형 = 문자열. 값 = Assets.xcassets / AppIcons.appiconset -Property = XSAppIconAssets, 유형 = 문자열. 값 = Assets.xcassets / AppIcons.appiconset

  5. Visual Studio는 무언가를 모두 추가하면 'Resources / Assets.xcassets / AppIcons.appiconset'을 Value로 자동으로 추가합니다. 그러나 제 경우에는 자산 카탈로그가 Resources 폴더 외부에 생성되었으므로 내 아이콘을 찾을 수 없습니다. 따라서 자산 폴더가 생성 된 위치를 확인하십시오.

  6. Apple은 이제 자산 카탈로그를 대신 사용하므로 CFBundleIconFiles는 필요하지 않습니다.

내가 도움이 되었기를 바랍니다. :)


@Omair의 답변을 사용했는데 그 자리에 있었지만 다양한 아이콘을 사용했던 오류가 발생했습니다. 문제는 자산 카탈로그를 만들 때 VS2017의 버그였습니다. 새 자산 생성 카탈로그를 추가 할 때 카탈로그 폴더는 / resources가 아니라 프로젝트의 루트 아래에 있습니다. 그러나 info.plist의 항목에는 / resources 아래에 경로가 있습니다. 자산 카탈로그 경로에서 / resources를 제거하면 모두 작동했습니다. 이것이 누군가를 돕기를 바랍니다!

참고 URL : https://stackoverflow.com/questions/46216718/missing-cfbundleiconname-in-xcode9-ios11-app-release

반응형