ไม่มี CFBundleIconName ในการเปิดตัวแอป Xcode9 iOS11


97

ฉันกำลังดิ้นรนเพื่อเปิดตัวแอปเวอร์ชันใหม่โดยใช้ Xcode 9 ที่สร้างด้วย iOS 11 SDK การเก็บถาวรและการอัปโหลดไบนารีทำได้ดีโดยไม่มีปัญหาใด ๆ บิวด์ปรากฏใน iTunes Connect ภายใต้กิจกรรมเป็น "กำลังประมวลผล" และมันหายไปและฉันได้รับอีเมลต่อไปนี้

เรียนผู้พัฒนา

เราพบปัญหาอย่างน้อยหนึ่งอย่างกับการจัดส่งล่าสุดของคุณสำหรับ "" ในการประมวลผลการจัดส่งของคุณต้องแก้ไขปัญหาต่อไปนี้: ไม่มีค่า Info.plist - ค่าสำหรับ CFBundleIconName ของคีย์ Info.plist ขาดหายไปในบันเดิล '' แอปที่มีไอคอนในแค็ตตาล็อกเนื้อหาต้องระบุคีย์ Info.plist นี้ด้วย สำหรับข้อมูลเพิ่มเติมโปรดดูที่ http://help.apple.com/xcode/mac/current/#/dev10510b1f7 เมื่อปัญหาเหล่านี้ได้รับการแก้ไขแล้วคุณสามารถส่งไบนารีที่แก้ไขได้อีกครั้ง ขอแสดงความนับถือทีมงาน App Store

ลิงก์จะให้ข้อมูลบางอย่างเกี่ยวกับกลุ่มเนื้อหา ฉันลองตั้งค่าคีย์ CFBundleIconName เป็นชื่อโปรเจ็กต์หรือชื่อไฟล์รูปภาพแล้วส่งแอพอีกครั้ง อย่างไรก็ตามฉันยังคงได้รับอีเมลเดียวกันกับด้านบน

ข้อเสนอแนะของความช่วยเหลือใด ๆ จะได้รับการชื่นชมอย่างมาก


2
คุณได้ตั้งค่าApp Icons Sourceรายการสินทรัพย์ของคุณอย่างถูกต้องในการตั้งค่าทั่วไปของโครงการหรือไม่
vmeyer

1
@vmeyer: แต่แอพที่ไม่ใช้แคตตาล็อกสินทรัพย์ล่ะ?
user102008

คำตอบ:


80

ฉันต่อสู้กับสิ่งนี้ทั้งวันทั้งคืนโดยพยายามเปลี่ยนทุกอย่างที่ฉันคิดได้และในที่สุดก็พบวิธีแก้ปัญหานี้ - หวังว่านี่จะช่วยใครบางคนให้ผ่านฝันร้ายนี้ไปได้

ก่อนหน้านี้แอปของฉันไม่ได้ใช้แค็ตตาล็อก xcassets ดังนั้นฉันจึงได้เพิ่มแอปลงในโปรเจ็กต์เมื่อพยายามแก้ไขปัญหานี้โดยใช้ไฟล์ - ใหม่ - ไฟล์ ... และเลือกแคตตาล็อกสินทรัพย์จากประเภทของไฟล์ - ฉันตั้งชื่อมันว่า Assets.xcassets และเลือกในโครงการ xcode จากนั้นคลิกขวาในพื้นที่ทางด้านขวาและเลือกเพิ่มไอคอนแอพ & เปิดตัวรูปภาพจากนั้นไอคอนแอพ iOS ใหม่จากนั้นฉันลากรูปภาพ 1024x1024 ของฉันไปที่ช่องสำหรับแอพสโตร์ iOS 1024pt ซึ่งคุณคิดว่าจะใช้งานได้ แต่ฉันยังคงได้รับอีเมลที่ถูกปฏิเสธหลังจากเก็บและส่งไปที่ร้าน

ไม่มีค่า Info.plist - ค่าสำหรับ CFBundleIconName คีย์ Info.plist หายไปในบันเดิล บลาบลาบลา ...

ฉันยังได้เพิ่มคีย์ให้กับ Info.plist สำหรับ "Icon Name" ซึ่ง CFBundleIconName รู้จักและตั้งเป็นชื่อไฟล์สตริงที่ตรงกับรูปภาพ 1024x1024 ของฉันในโปรเจ็กต์ แต่ไม่ได้ผลแม้ว่าการตรวจสอบเนื้อหา IPA จะแสดงทุกอย่างถูกต้อง

ในที่สุดฉันก็ลบ AppIcon ออกจากแค็ตตาล็อกชื่อ Assets.xcassets เพื่อให้มันว่างเปล่าและทำสิ่งต่อไปนี้เพื่อแก้ไขปัญหา:

ไปที่การตั้งค่าหลักสำหรับแอพโดยคลิกชื่อแอพของคุณจากนั้นเลือกแท็บทั่วไปจากนั้นภายใต้ไอคอนแอพและเปิดรูปภาพให้คลิกปุ่มข้างแหล่งไอคอนแอพและเลือกใช้แคตตาล็อกสินทรัพย์ - เลือกชื่อแคตตาล็อกสินทรัพย์ของคุณ - ของฉันถูกเรียกว่า Assets.xcassets - และบอกว่าจะแปลง (โยกย้าย) แอพด้วยปุ่มบนป๊อปอัปนั้น - ฉันยังทำเครื่องหมายที่ช่องเพื่อแปลงรูปภาพเปิดตัวด้วย - เมื่อคุณทำเสร็จแล้วที่มาของไอคอนแอปและแหล่งที่มาของภาพเปิดตัวจะมีชื่อ ในรายการแบบเลื่อนลง

ไปที่แคตตาล็อกสินทรัพย์โดยคลิกที่มัน - ของฉันอีกครั้งคือ Assets.xcassets จากนั้นคลิกที่ส่วน AppIcon แล้วลากรูปภาพ 1024x1024 ของคุณลงใน App Store iOS 1024pt well / slot เก็บแอปของคุณเป็นครั้งสุดท้ายและส่งไปที่ร้านแอป - ณ จุดนั้นหวังว่าจะไม่ได้รับอีเมลจากนรกอีกต่อไปเมื่อฉันเริ่มโทรหาพวกเขาเกี่ยวกับการปฏิเสธแอปของคุณและคุณสามารถกลับไปที่ iTunesConnect เพื่อส่งแอปของคุณ

ขอให้โชคดี - ฉันเข้าใจดีกับความเจ็บปวดที่คุณอาจรู้สึกกับข้อผิดพลาดที่คลุมเครือส่วนใหญ่นี้เมื่อคุณได้ลองใช้วิธีแก้ไขที่สมเหตุสมผลมากมายซึ่งไม่ได้หลุดออกไป นี่คือชีวิตของวิศวกรซอฟต์แวร์ในบางครั้ง ... ;)

ถ้าเป็นเรื่องง่ายทุกคนก็ทำได้ใช่ไหม ;)


แน่นอนว่ามันเป็นความเจ็บปวดและฉันก็คิดได้หลังจากอ่านลิงก์นี้อย่างใจเย็น จริงๆแล้วคุณไม่จำเป็นต้องลบไอคอนแอพก่อนหน้า แต่เป็นขนาดด้านซ้ายมือหากคุณสลับ iPad ช่องทำเครื่องหมาย iPhone คุณจะได้รับขนาดที่ต้องการทั้งหมด
ErAcube

2
ขอบคุณ! กำลังดิ้นรนกับเรื่องนี้เป็นเวลานาน! ฉันชอบที่ข้อผิดพลาดของ Apple ให้คำแนะนำอย่างมาก
talsharonts

สิ่งสำคัญสำหรับฉันคือการเพิ่ม AppIcon Asset จากแท็บโครงการ "ทั่วไป" (น่าแปลกที่การสร้างแคตตาล็อกเนื้อหาใหม่แล้วเพิ่มไอคอนแอปไม่ทำงาน)
Jason Moore

1
ขอบคุณสำหรับสิ่งนี้. ฉันไม่เห็นสิ่งที่อัปโหลดไปยัง iTunes Connect แม้ว่าฉันจะประสบความสำเร็จเมื่ออัปโหลดไปยัง App Store สับสนมาก โดยปกติคุณจะได้รับข้อผิดพลาดหากคุณปล่อยบางอย่างไว้ทันทีเมื่ออัปโหลดไปยังร้านค้า
uplearnedu.com

3
ยิ่งฉันพัฒนา iOS มากเท่าไหร่ฉันก็ยิ่งเกลียดมันมากขึ้นเท่านั้น
ไมค์

63

วิธีแก้ปัญหาที่ง่ายที่สุดคือการเพิ่มคีย์ CFBundleIconName ใน plist และเติมชิ้นส่วน AppIcon ทั้งหมดในแค็ตตาล็อกสินทรัพย์

Info.plist:

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

ป้อนคำอธิบายภาพที่นี่

ป้อนคำอธิบายภาพที่นี่

ดาวน์โหลด Working AppIcons Assets ที่นี่


2
สิ่งนี้ได้ผลสำหรับฉัน ขอบคุณมาก! btw สิ่งนี้ใช้ได้กับ VS สำหรับ Mac เช่นกัน
acido

1
แท็กหลักน่าจะดี ตอนนี้ฉันต้องเดาว่ากุญแจไปที่ใด
Martin

34

ฉันคิดออกว่าเนื่องจาก Xcode 9 iOS 11 builds ต้องการไอคอน iTunes Connect App ที่จะรวมกับไบนารีซึ่งสามารถเพิ่มลงใน iTunes Connect ได้โดยตรงใน Xcode เวอร์ชันก่อนหน้า (XCode 8.3.3 ane ก่อนหน้านี้)

หากคุณเผยแพร่แอปของคุณผ่าน App Store ให้เพิ่มไอคอน App Store ลงในแคตตาล็อกสินทรัพย์ที่อยู่ในโครงการ Xcode ตำแหน่งของไอคอนจะแตกต่างกันไปตามแพลตฟอร์ม

สำหรับแอป iOS และ watchOS ที่สร้างขึ้นโดยใช้ Xcode 8.3.3 และรุ่นก่อนหน้าให้เพิ่มไอคอน App Store ใน iTunes Connect สำหรับแอพ macOS และ tvOS คุณจะเพิ่มไอคอน App Store ลงในโปรเจ็กต์ Xcode แต่ตำแหน่งในแคตตาล็อกเนื้อหานั้นแตกต่างจากแอพที่สร้างด้วย Xcode 9 ขึ้นไป

ควรวางไอคอน App Store ที่ต้องการไว้ในแคตตาล็อกเนื้อหาที่อยู่ใน App Bundle

การเพิ่มไอคอน App Store

ดังนั้น CFBundleIconName ควรตั้งค่าเป็น AppIcon (ค่าเริ่มต้น) หรือค่าใด ๆ ที่คุณตั้งไว้

การเพิ่มเฉพาะรูปภาพนั้นจะไม่ผ่านกระบวนการอัปโหลด iTunes Archive ดังนั้นเราจำเป็นต้องเพิ่มรูปภาพไอคอนแอพทั้งหมดในขนาดต่อไปนี้:

  • 20pt 1x, 2x, 3x
  • 29pt 1x, 2x, 3x
  • 40pt 1x, 2x, 3x
  • 60pt 1x, 2x, 3x
  • 76pt 1x, 2x
  • 83.5 แต้ม 2x
  • 1024pt 1x

ตอนนี้ถึงเวลาใช้แคตตาล็อกสินทรัพย์เพื่อระบุไอคอนแอพ


1
ในกรณีของฉัน (app เก่าที่สร้างขึ้นด้วยXamarin / Visual Studio สำหรับ Mac ) แก้ปัญหาได้ง่ายอย่างที่โยกย้ายไปยังแคตตาล็อกสินทรัพย์ ฉันยังมีหน้าจอเปิดตัวเป็นกระดานเรื่องราวฉันไม่สามารถย้ายข้อมูลนั้นไปยังแคตตาล็อกเนื้อหาได้ดังนั้นฉันจึงปล่อยมันไว้ ยังคงบ่นเกี่ยวกับไอคอนการตลาดที่หายไป
firepol

ฉันคิดว่าคุณต้องเพิ่มไอคอนการตลาดภายใต้ไอคอนแอปซึ่งเป็น 1024pt ด้วย ตรวจสอบด้วยว่าคุณกำลังอัปโหลดไบนารีโดยใช้ Xcode 9 GM แต่ไม่ใช่เวอร์ชันเบต้า
ErAcube

1
Visual Studio จาก Mac (เช่นXamarin Studio ) ไม่แสดงไอคอนแอพสโตร์ / การตลาดในเนื้อหาดังนั้นฉันจึงไม่สามารถเพิ่มผ่าน UI ได้ ฉันจะส่งข้อผิดพลาดไปยัง Xamarin สิ่งที่ฉันทำ: แก้ไขContents.json> เพิ่มชื่อไฟล์สำหรับios-marketing. ฉันต้องเพิ่มไฟล์ในImageAssetไฟล์ csproj ด้วย ด้วยเหตุผลบางประการ iTunesArtwork 2x ของฉันไม่ถูกต้อง (ใช้เหมือนกับ 1x) ฉันเขียนทับด้วยไฟล์ 1024px IPA ผลลัพธ์ไม่มี icon-marketing.png แต่การอัปโหลดผ่านแอปพลิเคชันโหลดเดอร์ใช้งานได้ ตรวจสอบอีกครั้ง: ลองอีกครั้งโดยไม่มีไอคอนการตลาด แต่ itunesartwork fix: มีข้อผิดพลาดทางการตลาด
firepol

1
นี่คือรายงานข้อผิดพลาดสำหรับ xamarin / visual studio สำหรับผู้ใช้ Mac ที่จะปฏิบัติตาม: bugzilla.xamarin.com/show_bug.cgi?id=59515
firepol

15

ฉันได้รับอีเมลฉบับเดียวกันทุกครั้งที่ฉันส่งไบนารีสำหรับแอปเวอร์ชันใหม่ของฉัน ฉันลองใช้วิธีแก้ไขทั้งหมดที่ระบุไว้ที่นี่แล้ว แต่ไม่ได้ผล จากนั้นฉันก็ทำการเปลี่ยนแปลงอีกครั้งที่ได้ผล

ในเป้าหมาย . . สร้างการตั้งค่า . . สินทรัพย์แคตตาล็อกคอมไพเลอร์ - ตัวเลือกส่วนทำให้แน่ใจว่าชื่อของรายการสินทรัพย์ที่มีไอคอนที่แสดงอยู่ใน แคตตาล็อกสินทรัพย์ไอคอนแอปตั้งชื่อ ด้วยเหตุผลบางประการชื่อชุดไอคอนแอปแค็ตตาล็อกเนื้อหาของฉันว่างเปล่า


2
สิ่งนี้คงที่สำหรับฉัน! พยายามอย่างอื่นโดยไม่มีประโยชน์ นอกจากนี้ยังสมเหตุสมผลเมื่อฉันตรวจสอบแพ็กเกจ. ipa เมื่อส่งออกด้วย adhoc build และเห็นไอคอนไม่อยู่ในนั้นก่อนที่คอมไพเลอร์เนื้อหาจะเปลี่ยนเป็น "AppIcon" ที่ระบุสำหรับ "ชื่อชุดไอคอนแอปแค็ตตาล็อกเนื้อหา" ซึ่งตรงกับ ชื่อใน xcassets
GameSalutes

11

แอพที่สร้างด้วย iOS 11 หรือใหม่กว่า SDK ต้องใส่ไอคอนแอพในแคตตาล็อกเนื้อหาและต้องระบุค่าสำหรับคีย์ Info.plist นี้ด้วย

สำหรับโครงการเก่าที่ไม่มีแคตตาล็อกทรัพย์สินจะมีปัญหาขณะส่งไปยัง Appstore

ในโครงการ -> คุณสมบัติเป้าหมาย - แท็บทั่วไป -> ไอคอนแอปและเปิดตัวอิมเมจ ไอคอนแอพ -> เลือกใช้แค็ตตาล็อกสินทรัพย์จากนั้นระบบจะขอให้ทำการแปลง (โอนย้าย) ด้วยการแจ้งเตือนและสร้างไฟล์. xcassets ทำเครื่องหมายในช่องเพื่อแปลงรูปภาพเปิดตัวด้วย
เมื่อคุณทำเสร็จแล้ว App Icons Source และ Launch Images Source จะมีชื่อในรายการดรอปดาวน์ เพิ่มไอคอนแอพและไอคอนอื่น ๆ


9

ฉันมีปัญหาเดียวกันและแก้ไขได้ดังนี้

นี่คือคำแนะนำทีละขั้นตอน

ขั้นตอนที่ 1:

สร้างไอคอนด้วย 1024 * 1024.png

ขั้นตอนที่ 2:

อัปโหลด png นี้ไปที่เว็บไซต์https://www.appicon.build/แล้วลากและวางบนหน้าจอ

ป้อนคำอธิบายภาพที่นี่

ขั้นตอนที่ 3:

จะขอให้คุณป้อนที่อยู่อีเมลของคุณ ป้อนจากนั้นไม่กี่วินาทีคุณจะได้รับขนาดภาพที่ต้องการทั้งหมดลงในกล่องจดหมายของคุณ ดาวน์โหลดโฟลเดอร์ซิปนั้นและแตกไฟล์

ขั้นตอนที่ 4:

กลับไปที่โปรเจ็กต์ของคุณXcodeและเพิ่มโฟลเดอร์ที่คลายซิปนี้ (เรียกว่า AppIcon.appconset) ลงในโฟลเดอร์ทรัพยากรในโปรเจ็กต์ xcode ของคุณ

ป้อนคำอธิบายภาพที่นี่

ขั้นตอนที่ 5:

ดับเบิลคลิกที่Asset.xcassetsโฟลเดอร์แล้วลากและวางภาพที่ต้องการบนตัวยึดภาพสำหรับภาพ 2x และ 3x จากภาพที่สร้างขึ้น

ป้อนคำอธิบายภาพที่นี่

คุณไปได้ดี! ...


2
นอกจากนี้ยังมีแอพชื่อ Icon Set Creator บน Mac App Store งานง่ายเหมือนกันและไม่ต้องอัปโหลดสิ่งต่างๆบนเว็บ
Yaroslav

โพสต์ที่ดีสิ่งนี้ได้ผลสำหรับฉันและช่วยฉันได้มากขอบคุณ
andydoe

8

ตอนนี้ใน IOS 11 เราต้องเพิ่มไอคอนใหม่ในโครงการขนาด 1024x1024

ตรวจสอบให้แน่ใจว่าไฟล์ไอคอนถูกลบออกจากโฟลเดอร์ทรัพยากรในชุดซอร์สโค้ดและคีย์ไฟล์ไอคอนใน info.plist จะถูกล้าง เพิ่มคีย์ CFBundleIconName ใน plist ดังต่อไปนี้

Info.plist:

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

นอกจากนี้ในส่วนโครงการ - เป้าหมาย -> การตั้งค่าการสร้าง -> คอมไพเลอร์แค็ตตาล็อกเนื้อหา - ตรวจสอบให้แน่ใจว่าชื่อของแค็ตตาล็อกสินทรัพย์ที่มีไอคอนแสดงอยู่ในชื่อชุดไอคอนแอปแค็ตตาล็อกเนื้อหา


4

สำหรับใครก็ตามที่คำตอบข้างต้นไม่ได้ช่วยอะไร (ใช้หัวกำแพงต่อสู้กับคำตอบนี้):

อย่าลืมตรวจสอบการเป็นสมาชิกเป้าหมายของไดเรกทอรีเนื้อหาของคุณ! หากคุณเชื่อมโยงสมาชิกไม่ถูกต้องที่นี่คุณจะได้รับข้อผิดพลาดทั่วไปแบบเดียวกันนี้ (Apple ควรดำเนินการบางอย่างเกี่ยวกับข้อความแสดงข้อผิดพลาด)

ป้อนคำอธิบายภาพที่นี่

การเป็นสมาชิกเป้าหมายควรสัมพันธ์โดยตรงกับเป้าหมายที่คุณใช้ไอคอน ตัวอย่างเช่นฉันใช้ไดเรกทอรีเดียวนี้สำหรับทั้งแอปหลักและดูเนื้อหาแอปคุณต้องระบุสิ่งนี้โดยเลือกสมาชิกที่เหมาะสม

คุณไม่จำเป็นต้องแก้ไข plist เลยคำตอบเหล่านี้ส่วนใหญ่ทำให้เข้าใจผิด

หวังว่านี่จะช่วยคนที่โดนสิ่งนี้!


1
พระเจ้าช่วย. หลังจาก HOURS ประสบปัญหานี้ก็เพียงตรวจสอบการเป็นสมาชิกเป้าหมายที่ไม่ได้เลือกด้วยเหตุผลบางประการ ขอบคุณมาก.
GGirotto

4

ฉันเองก็พบข้อผิดพลาด"Missing Info.plist - ค่าสำหรับ CFBundleIconName ของคีย์ Info.plist หายไปในบันเดิล ... "และต้องการให้คำตอบที่กระชับเพื่อหวังว่าจะช่วยคนต่อไปได้

แอปไม่ได้ใช้แคตตาล็อกเนื้อหา แม้ว่านั่นจะไม่ใช่สิ่งที่ข้อผิดพลาดนี้ระบุ แต่นั่นคือสิ่งที่จำเป็นในการแก้ไขปัญหานี้ แต่วิธีที่คุณเพิ่มค่าเป็นสิ่งสำคัญ ไม่เพียงพอที่จะเพิ่มคีย์ \ ค่าที่หายไปนี้ด้วยตนเองไปยัง. plist; มีอะไรมากกว่านั้น คุณต้องลบค่า CFBundleIcons ออกจาก. plist ของคุณด้วย สามารถทำได้ด้วยตนเอง แต่ขอแนะนำให้ใช้อินเทอร์เฟซ XCode เพื่อแก้ไขผ่าน Project Properties - ไอคอนแอพทั่วไปและ Launch Image นั่นคือวิธีที่ทำให้ฉันได้ทำงาน

ด้านล่างนี้เป็นภาพหน้าจอของการเปลี่ยนแปลงนี้ทำเพื่อฉัน.plist

ป้อนคำอธิบายภาพที่นี่

ไอคอนแอพและเปิดรูปภาพ
ป้อนคำอธิบายภาพที่นี่

เพิ่มแคตตาล็อกเนื้อหาใหม่ในโครงการของคุณหากคุณยังไม่มี
คลิกชื่อแอพที่ด้านบนสุดของหน้าต่างเนวิเกเตอร์ของคุณ
เลือกแท็บทั่วไป
เลื่อนลงไปที่ส่วน "ไอคอนแอพและเปิดตัวรูปภาพ"
คลิกปุ่ม "ใช้แค็ตตาล็อกสินทรัพย์"
หมายเหตุ: ฉันได้สร้างแคตตาล็อกสินทรัพย์และรูปภาพไอคอนแอพ iOS ของตัวเองแล้ว ตั้งค่า แต่การเชื่อมโยงไปยังที่มีอยู่ไม่ได้ผลสำหรับฉันเนื่องจากสร้างชุดรูปภาพใหม่ซึ่งมีค่า \ images ว่างเปล่า ฉันต้องลบทั้งหมดและปล่อยให้กระบวนการนี้สร้างให้ฉัน หากคุณเพิ่งเพิ่มแคตตาล็อกเนื้อหาเพื่อแก้ไขปัญหานี้ให้กระบวนการนี้สร้างขึ้นมาให้คุณอย่าเพิ่มชุดรูปภาพด้วยตนเอง

คลิกเพื่อแปลง \ โยกย้ายแอป
หลังจากคลิกปุ่มไม่มีอะไรรีเฟรชโดยอัตโนมัติสำหรับฉัน ฉันออกไปแล้วกลับไปที่หน้าจอการตั้งค่าและตอนนี้มีการกำหนดค่าในรายการแบบเลื่อนลง

ตอนนี้เปิดแคตตาล็อกสินทรัพย์ใหม่ของคุณโดยคลิกที่มัน
คลิกที่ส่วน "AppIcon" และลากภาพที่คุณต้องการไปยังตำแหน่งที่เหมาะสม

คุณจะต้องมีภาพ 1024x1024 สำหรับไอคอน App Store iOS 1024pt และไอคอนอื่น ๆ ที่จำเป็นสำหรับแอป iPhone \ iPad \ Universal รูปภาพ 1024x1024px เรียกอีกอย่างว่าไอคอนการตลาด คุณไม่สามารถส่งแอปของคุณได้หากไม่มีแอปนี้

ตอนนี้คุณควรจะเก็บแอปของคุณและส่งไปที่ร้านแอปได้แล้ว


3

ทำตามขั้นตอนด้านล่าง

  1. ในโครงการของคุณให้เพิ่มไฟล์ใหม่ >> Asset Catlog
  2. ไปที่คลิกที่โครงการของคุณใน XCODE >> ทั่วไป >> ไอคอนแอป ดูภาพหน้าจอ สิ่งนี้จะสร้าง AppICon และ LaunchImage Specifications โดยอัตโนมัติภายใน Asset ของคุณหลังจากนั้นคุณสามารถลากและวางไอคอน Appstore และไอคอนอื่น ๆ ในนั้นได้

  3. เพิ่มด้วย
    <key>CFBundleIconName</key>
    <string>AppIcon</string>

รายการนี้ในไฟล์ plist ของคุณ

อัปโหลดไบนารีของคุณไปยัง iTunes


(Xcode 9 ส่วน "ทั่วไป" ที่อธิบายจะปรากฏเฉพาะสำหรับเป้าหมายไม่ใช่โครงการ ... )
benc

2

ในที่สุดฉันก็ได้พบวิธีแก้ปัญหาที่สะอาดสำหรับปัญหานี้ซึ่งไม่ต้องเพิ่มคีย์ให้กับ info.plist เช่น CFBundleIconName ฉันทำสิ่งนี้ขณะอัปเดตแอปเก่าในแอปสโตร์เพื่อสร้างเทียบกับ SDK 11.2 (และเชื่อฉันว่ามีความยุ่งยากพอสมควร) ฉันใช้ Xamarin ใน Visual Studio บนพีซี แต่โซลูชันนี้ควรทำงานใน IDE หรือเฟรมเวิร์กอื่น ๆ เช่น XCode ส่วนสำคัญของการแก้ปัญหาคือไฟล์ info.plist และโฟลเดอร์ Resources ไม่จำเป็นต้องมีบทบาทใด ๆ อีกต่อไปเท่าที่ไอคอนแอปและรูปภาพเปิดตัวจะเกี่ยวข้อง ในความเป็นจริงคุณสามารถลบคีย์ CFBundleIconFiles ออกจากไฟล์ info.plist และจะไม่สร้างความแตกต่างให้กับโครงการของคุณ

นี่คือขั้นตอนที่คุณต้องปฏิบัติตาม:

  1. ทำสำเนาไอคอนแอพของคุณและเปิดใช้รูปภาพและจัดเก็บไว้ในตำแหน่งแยกต่างหาก
  2. สำหรับการเริ่มต้นใหม่ทั้งหมดให้ลบการอ้างอิงไปยังไอคอนแอพและเปิดรูปภาพจาก info.plist ซึ่งหมายถึงการลบค่าภายใต้คีย์ CFBundleIconFiles
  3. ลบไอคอนแอพและเปิดภาพจากโฟลเดอร์ทรัพยากร
  4. ใช้ตัวเลือกลบเพื่อลบ "สินทรัพย์" หรือ "สื่อ" ที่คุณประกาศไว้ใน "แคตตาล็อกสินทรัพย์"
  5. โฟลเดอร์ที่ใช้ชื่อ Assets.xcassets หรือ Media.xcassets (หรือชื่อโฟลเดอร์. xcassets ในทำนองเดียวกัน) อาจยังคงอยู่ในโปรเจ็กต์ของคุณ ซึ่งอาจอยู่ภายนอกหรือภายในโฟลเดอร์ทรัพยากร ลบโฟลเดอร์. xcassets ทั้งหมด
  6. ตอนนี้เปิดไฟล์โครงการของคุณในตัวแก้ไขเช่น notepad (เช่น. csproj ใน Visual Studio) และดูว่ามีการอ้างอิงใด ๆ ที่ชี้ไปยังไฟล์ในโฟลเดอร์. xcassets หรือไม่ ลบการอ้างอิงดังกล่าวทั้งหมด ตรวจสอบด้วยว่าไม่มีการอ้างอิงที่ชี้ไปที่ไอคอนแอพหรือเปิดรูปภาพภายใต้โฟลเดอร์ทรัพยากรในไฟล์นี้และลบออกด้วย
  7. ตรวจสอบให้แน่ใจว่าคีย์ XSAppIconAssets และ XSLaunchImageAssets ไม่มีอยู่ใน info.plist อีกต่อไป ลบหากยังมีอยู่
  8. ณ จุดนี้คุณได้ลบไฟล์ก่อนหน้านี้หรือการอ้างอิงถึงไอคอนแอพของคุณและเปิดรูปภาพจากโปรเจ็กต์ของคุณ หากยังปรากฏอยู่โปรดย้อนกลับและลบออก ตอนนี้เพื่อเริ่มต้นใหม่ให้สร้าง 'เนื้อหา' หรือ 'สื่อ' ใหม่ภายใต้ 'แคตตาล็อกสินทรัพย์' ซึ่งจะสร้างโฟลเดอร์. xcassets ในโครงการของคุณ คัดลอกไอคอนแอพของคุณ (และเปิดรูปภาพหากจำเป็น) จากขั้นตอนที่ 1 ไปยังโฟลเดอร์ที่เกี่ยวข้องภายใต้โฟลเดอร์. xcassets ใหม่ของคุณ ตรวจสอบให้แน่ใจว่ามีภาพที่จำเป็นทั้งหมดรวมอยู่ด้วย
  9. ตรวจสอบให้แน่ใจว่า info.plist มีค่าคีย์ XSAppIconAssets (และ XSLaunchImageAssets หากจำเป็น) สำหรับ 'สินทรัพย์' ใหม่ที่คุณสร้างขึ้น ไฟล์โปรเจ็กต์ของคุณ (ซึ่งก็คือ. csproj ใน Visual Studio) ควรมีการอ้างอิงถึงแต่ละภาพที่คุณเพิ่มลงใน 'สินทรัพย์' ใหม่ของคุณ ไม่จำเป็นต้องมีภาพพิเศษใด ๆ เกินกว่าที่โครงการกำหนด ฉันขอแนะนำให้ลบรูปภาพเพิ่มเติมใด ๆ ออกจากเนื้อหาของคุณ
  10. หากคุณเพิ่มคีย์ชื่อ CFBundleIconName ตามที่กล่าวไว้ในโซลูชันอื่นโปรดลบคีย์นี้ออกจาก info.plist ไม่จำเป็นต้องใช้ ตอนนี้คุณพร้อมที่จะส่งแอปของคุณไปยังร้านค้าแล้ว

1

ไม่จำเป็นต้องแก้ไข info.plist ข้อผิดพลาดที่ไอคอนที่เกี่ยวข้องจะได้รับการแก้ไขโดยการกรอกข้อมูลในภาพทั้งหมดที่ตัวยึดสำหรับ AppIcon ใน images.xcassets


1

มีปัญหากับ Visual Studio 17 (v-15.2) เมื่อคุณอัปเดตเวอร์ชัน> 15.2 คุณจะเห็นตัวยึดตำแหน่ง App-Icon-1024x1024 ใน AssetCatalog> Media> AppIcons

ป้อนคำอธิบายภาพที่นี่


คุณสามารถให้บริบทบางอย่าง? ไม่แน่ใจว่าทำไมเวอร์ชัน Visual Studio ถึงเกี่ยวข้องกับหัวข้อนี้ ...
benc

1

นักพัฒนาแอปทุกคนใช้ "Icon Dog" ที่มีชื่อเสียง

(น่าเสียดายที่พวกเขาเปลี่ยนชื่อ!)

ป้อนคำอธิบายภาพที่นี่

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

แอพยอดนิยมอันดับ 1 ที่นักพัฒนา iOS ใช้อยู่ห่างไกลและห่างไกลซึ่งเป็นลัทธิ

มันช่วยแก้ปัญหาทั้งหมดได้ทันที


1

ในสถานการณ์ของฉัน หลังจากที่คุณทำสิ่งเหล่านี้เสร็จแล้วในหน้านี้อย่าลืมเก็บโครงการของคุณอีกครั้ง :)


0

สำหรับ Xcode 9.2 สำหรับแอป iOS 11 ควรมีการชี้แจงสองสามประเด็น

1- ข้อผิดพลาดนี้น่าจะมาจากการไม่มีเนื้อหาไอคอนในแคตตาล็อกสินทรัพย์

(รับข้อผิดพลาดนี้โดยการส่งแอปที่ไม่มีแคตตาล็อกเนื้อหา)

2- ข้อผิดพลาดนี้แก้ไขได้โดยการเพิ่มแคตตาล็อกสินทรัพย์พร้อมไอคอนที่ต้องการ

(ในกรณีของฉันมันเป็นแอพสำหรับ iPhone เท่านั้นและฉันได้เพิ่มรูปภาพตัวยึดที่มีขนาด 120x และ 180x)

3- ข้อผิดพลาดนี้ไม่เกี่ยวข้องกับ "ไอคอน App Store" 1024x1024

(เมื่อคุณลืมไอคอนร้านค้าขนาดใหญ่ข้อผิดพลาดเฉพาะแยกต่างหากจะปรากฏขึ้นไม่ใช่ข้อผิดพลาดนี้)

4- ตรงกันข้ามกับเอกสารของ Apple แม้จะมี (Xcode 9 + เขียนขึ้นสำหรับ iOS 11) คุณยังสามารถใช้เว็บไซต์เพื่อส่งไอคอน App Store ได้

(ข้อผิดพลาดเฉพาะแยกต่างหากที่กล่าวถึงข้างต้นเกิดจากการไม่มีไอคอนไม่ใช่การไม่มีไอคอนในโครงสร้างที่ส่งมา)

5- ไม่มีการเปลี่ยนแปลง CFBundleIconName ใน Info.plist


อะไรคือความแตกต่างระหว่างการขาดและการขาดงาน? คุณสามารถอธิบาย?
dFlat

หากคุณส่งไอคอนไปยังรายการร้านค้าแล้วการส่งแอปที่ไม่มีไอคอนใน
บิลด์

0

ฉันมีปัญหามากมายเกี่ยวกับเรื่องนี้เช่นกัน - ฉันได้รับข้อผิดพลาดอย่างต่อเนื่องกับ CFBundleIconName ที่หายไปและไอคอนของฉันที่ไม่พบ นี่คือเรื่องราวของฉันบางทีมันอาจจะช่วยได้สำหรับใครบางคน อย่างไรก็ตามฉันใช้ Visual Studio กับ Xamarin

  1. เพิ่มแคตตาล็อกสินทรัพย์ลงในโครงการของคุณด้วย AppIcons (ชื่อจริงของเนื้อหาไม่สำคัญ แต่เป็นเพียงแค่ไอคอนแอปพลิเคชันเท่านั้น) เพิ่มขนาดไอคอนที่จำเป็นทั้งหมด สำหรับไอคอน "App Store" ฉันได้เพิ่มไอคอนที่ไม่มี @ ในชื่อตามที่ใครบางคนในฟอรัมแนะนำ แต่ฉันไม่แน่ใจว่าจำเป็น 100% หรือไม่ สำหรับการสร้างขนาดไอคอนที่แตกต่างกันมีเว็บไซต์และเครื่องมือมากมายที่สามารถทำเพื่อคุณได้และคุณต้องให้ 1024x1024 พวกเขาจะสร้างส่วนที่เหลือ

  2. ใน Info.plist ภายใต้ "Visual Assets" จากนั้น "ไอคอนแอป" ให้ตั้งค่าแหล่งที่มาเป็นเนื้อหาที่คุณเพิ่งสร้างขึ้น

  3. ตอนนี้ตรวจสอบ Info.plist ของคุณ อย่าเปิดด้วยโปรแกรมแก้ไขภายนอกเนื่องจากการเปลี่ยนแปลงทั้งหมดของคุณจะถูกเขียนทับเมื่อคุณสร้างโครงการของคุณ ทำดังต่อไปนี้ - คลิกขวาที่ Info.plist ใน Solution Explorer จากนั้นเลือก Open With -> Generic PList Editor

  4. ตรวจสอบว่าคุณมีรายการต่อไปนี้:

    -Property = CFBundleIconName, Type = String ค่า = Assets.xcassets / AppIcons.appiconset -Property = XSAppIconAssets, Type = String ค่า = Assets.xcassets / AppIcons.appiconset

  5. โปรดทราบว่า Visual Studio จะเพิ่มโดยอัตโนมัติเมื่อเพิ่มบางสิ่งบางอย่างพร้อมกัน 'Resources / Assets.xcassets / AppIcons.appiconset' เป็นค่า แต่ในกรณีของฉันแค็ตตาล็อกเนื้อหาถูกสร้างขึ้นนอกโฟลเดอร์ทรัพยากรดังนั้นไอคอนของฉันจึงไม่พบ ดังนั้นตรวจสอบว่าโฟลเดอร์สินทรัพย์ของคุณสร้างขึ้นที่ไหน

  6. CFBundleIconFiles ไม่จำเป็นเพราะตอนนี้ Apple ใช้แคตตาล็อกสินทรัพย์แทน

หวังว่าคงได้รับความช่วยเหลือบ้าง :)


0

ฉันใช้คำตอบโดย @Omair และเป็นที่สังเกตอย่างไรก็ตามจากนั้นฉันก็ได้รับข้อผิดพลาดว่าไม่พบไอคอนต่างๆ ปัญหาคือข้อบกพร่องของ VS2017 เมื่อสร้างแคตตาล็อกเนื้อหา เมื่อเพิ่มแค็ตตาล็อกเนื้อหาใหม่โฟลเดอร์แค็ตตาล็อกจะถูกสร้างขึ้นภายใต้รูทของโปรเจ็กต์ไม่ใช่ภายใต้ / ทรัพยากร อย่างไรก็ตามรายการใน info.plist มีเส้นทางเป็น / resources เมื่อฉันลบ / ทรัพยากรออกจากเส้นทางไปยังแค็ตตาล็อกสินทรัพย์ของฉันก็ทำงานได้ดี หวังว่านี่จะช่วยใครสักคน!


0

ฉันจะตอบกลับในขอบเขตของ Xamarinสำหรับการแก้ไขปัญหานี้ซึ่งคล้ายกัน แต่ไม่เหมือนกับ Xcode การใช้ VisualStudio Community (16.6 Windows / 8.6.1 macOS) ที่ติดตั้ง Xcode 11 บน macOS

การเพิ่มCFBundleIconNameใน Info.plist ไม่สามารถใช้งานได้คีย์นี้ไม่ได้ใช้แล้วในปัจจุบัน (สำหรับบิวด์ที่กำหนดเป้าหมาย iOS 11 ขึ้นไปจะใช้เฉพาะ Assets.xcassets เท่านั้น แต่ยังสามารถเป็น Media.xcassets คุณเลือกอะไรก็ได้ที่คุณต้องการ แต่ ฉันจะอ้างอิงเป็น Assets.xcassets)

ปัญหาของฉันคือแม้ว่าจะดูดีในมุมมอง Assets.xcassets แต่รูปภาพก็ไม่ถูกต้อง ทันทีที่ฉันพยายามด้วยตนเองเพื่อส่งผลกระทบอีกครั้งฉันมีข้อผิดพลาดในรูปแบบ

Xamarin กำลังจัดการอยู่ ... สมมติว่าสับสนกับ Asset.xcassets ในไฟล์. csproj บางครั้งการอ้างอิงไฟล์ Contents.json ไม่เพียงพอที่จะอธิบายเนื้อหาทั้งหมดคุณต้องนำเข้าทุกไฟล์ด้วยดังนั้นจึงสามารถทำงานบนพีซีได้ แต่ไม่สามารถใช้กับ Mac และในทางกลับกันได้ มีพื้นที่ในการปรับปรุงการจัดการสินทรัพย์ระหว่าง Visual Studio PC, Visual Studio Mac และ Xcode

ฉันสร้างไอคอนทั้งหมดขึ้นมาใหม่และแทรกทีละไอคอนในมุมมอง Assets.xcassets ด้วยมือ

แน่นอนนอกจากนี้ Info.plist คุณต้องมีคีย์ต่อไปนี้:

<key>XSAppIconAssets</key>
<string>Media.xcassets/AppIcons.appiconset</string>

จากนั้นฉันก็สร้างทั้งหมดขึ้นมาใหม่และใช้งานได้

เคล็ดลับในการดูว่าไอคอนถูกสร้างขึ้นอย่างถูกต้องหรือไม่ก่อนที่จะอัปโหลดไปยัง AppStoreConnectเพื่อปรับใช้กับโปรแกรมจำลองหรือในเครื่องมือ Xcode-> Organizer เพื่อตรวจสอบว่า IPA มีไอคอนที่เหมาะสมหรือไม่ มิฉะนั้นนี่คือ dev "ไม่มีไอคอน" และจะไม่เป็นไร

นอกจากนี้บางเว็บไซต์สำหรับการสร้างไอคอนแอปไม่มีทุกสิ่งที่ฉันต้องการ สุดท้ายฉันใช้อันนี้สำหรับการทดสอบอย่างรวดเร็ว (แต่ฉันชอบเครื่องมือในพื้นที่ - ดูด้านบน): https://www.iconsgenerator.com/Home/AppIcons

นอกจากนี้เนื่องจากคุณอาจมีปัญหาในการอัปโหลดโดยไม่ใช้ Launchimage (เกี่ยวข้องกับสตอรีบอร์ดและเก็บไว้ใน Asset.xcassets จึงมีแอพที่ยอดเยี่ยมที่อนุญาตให้ใช้ไอคอนแอพทั้งสองรุ่นและรูปภาพเปิดตัว: https://github.com/raphaelhanneken/iconizer


0

ในกรณีของฉันปัญหาคือฉันมีภาพ PNG สำหรับไอคอนการตลาดของ App Store (1024x)

คุณต้องใช้ jpeg รูปภาพที่ไม่โปร่งใสสำหรับไอคอน App Store นี้ (1024x) ปัญหาก็หายไป


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.