นี่เป็นคำถามที่ดี:
Bundle Name, Executeable Name, Product Name ... มีอะไรอีกไหม?
แต่ฉันแค่สงสัยเกี่ยวกับความแตกต่างระหว่าง "ชื่อที่แสดงบันเดิล" และ "ชื่อบันเดิล" ในข้อมูลแอปพลิเคชันโกโก้
นี่เป็นคำถามที่ดี:
Bundle Name, Executeable Name, Product Name ... มีอะไรอีกไหม?
แต่ฉันแค่สงสัยเกี่ยวกับความแตกต่างระหว่าง "ชื่อที่แสดงบันเดิล" และ "ชื่อบันเดิล" ในข้อมูลแอปพลิเคชันโกโก้
คำตอบ:
ฉันไม่คิดว่าคำตอบอื่นใดจะตอบคำถามได้อย่างกระชับ
CFBundleDisplayName
- แสดง: ด้านล่างไอคอน ตามเอกสารควรแปลเป็นภาษาท้องถิ่น แต่เฉพาะในกรณีที่แอปนั้นเป็นภาษาท้องถิ่นมิฉะนั้นจะมีการลงโทษบางอย่าง (หากเป็นจริงในความเป็นจริงฉันไม่สามารถพูดได้)
CFBundleName
- แสดง: ฉันมีความคิด เอกสารแนะนำว่าจะใช้ในรายการจึงแนะนำสูงสุด 16 ตัวอักษร แต่ตัวอย่างเช่นการตั้งค่า→ทั่วไป→รายการการใช้งานแอพนั้นใช้CFBundleDisplayName
จริงๆ จนถึงปัจจุบันฉันไม่เคยคิดว่าจะใช้อันนี้ที่ไหน
โอ้นี่สำหรับแอพ iOS ไม่สามารถพูดแทน OS อื่นได้
ขอบคุณสำหรับคำตอบของ Wevah นี่คือคำอธิบายสำหรับผู้ที่สับสนกับค่าคงที่สองค่านี้
CFBundleDisplayName
(String - iOS, Mac OS X) ระบุชื่อที่แสดงของบันเดิล หากคุณสนับสนุนชื่อท้องถิ่นสำหรับบันเดิลของคุณให้รวมคีย์นี้ไว้ในไฟล์รายการคุณสมบัติข้อมูลของคุณและในไฟล์ InfoPlist.strings ของไดเร็กทอรีย่อยภาษาของคุณ หากคุณแปลคีย์นี้คุณควรรวมคีย์ CFBundleName เวอร์ชันที่แปลแล้วด้วย
หากคุณไม่ต้องการโลคัลไลซ์บันเดิลของคุณอย่ารวมคีย์นี้ในไฟล์ Info.plist ของคุณ การรวมคีย์นี้จะไม่ส่งผลต่อการแสดงชื่อบันเดิล แต่จะมีโทษด้านประสิทธิภาพในการค้นหาคีย์นี้ในเวอร์ชันที่แปลแล้ว
ก่อนที่จะแสดงชื่อโลคัลไลซ์สำหรับบันเดิลของคุณ Finder จะเปรียบเทียบค่าของคีย์นี้กับชื่อจริงของบันเดิลของคุณในระบบไฟล์ หากทั้งสองชื่อตรงกัน Finder จะแสดงชื่อที่แปลจากไฟล์ InfoPlist.strings ที่เหมาะสมของบันเดิลของคุณ หากชื่อไม่ตรงกัน Finder จะแสดงชื่อระบบไฟล์
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับชื่อที่แสดงใน Mac OS X โปรดดูภาพรวมระบบไฟล์
CFBundleName
(String - iOS, Mac OS X) ระบุชื่อย่อของบันเดิล ชื่อนี้ควรมีความยาวน้อยกว่า 16 อักขระและเหมาะสำหรับการแสดงในแถบเมนูและหน้าต่างข้อมูลของแอปพลิเคชัน คุณสามารถรวมคีย์นี้ในไฟล์ InfoPlist.strings ของไดเร็กทอรีย่อย. lproj ที่เหมาะสมเพื่อระบุค่าที่แปลเป็นภาษาท้องถิ่น หากคุณแปลคีย์นี้คุณควรรวมคีย์ด้วยCFBundleDisplayName.
ตามที่ Apple ระบุ
ชื่อแอปที่แสดง
on the iPhone home screen
มาจากรายการ CFBundleDisplayName (หรือ "Bundle display name" เป็นสตริงที่มนุษย์อ่านได้ใน Xcode) ของ Info.plist ของแอป iOS ของคุณในทำนองเดียวกันชื่อแอปที่คุณเห็นในของคุณ
WatchKit app's launch screen
และnotifications
มาจาก CFBundleDisplayName ของ Info.plist แอป WatchKit ของคุณ
The Apple Watch app on the iPhone
ปัจจุบันใช้ชื่อบันเดิล (ไม่ใช่ชื่อที่แสดงบันเดิล) ของแอป iOS ของคุณซึ่งระบุโดยรายการ CFBundleName (หรือ "Bundle name") ของ Info.plist
คุณสามารถดูภาพหน้าจออื่น ๆ ที่เกี่ยวข้องและการเข้าถึงข้อมูลเพิ่มเติมได้ที่หน้านักพัฒนาแอปเปิ้ลโดยการคลิกที่นี่
จากประสบการณ์ของฉัน:
เฉพาะในกรณีที่CFBundleDisplayName
ไม่ได้ระบุBundle Display Name ( ) ค่าของ Bundle Name (CFBundleName
) จะถูกใช้เพื่อแสดงภายใต้ไอคอนแอพ
โปรดทราบว่า CFBundleDisplayName
สามารถแปลเป็นภาษาท้องถิ่นได้และควรใช้เพื่อตั้งชื่อแอปที่แสดงในเมนู iOS Springboard และแอปพลิเคชั่น MacOS X / Mission Control
ในระยะสั้นไม่ได้สัมผัสและปล่อยให้ความคุ้มค่าเป็นค่าเริ่มต้นคือCFBundleName
${PRODUCT_NAME}
โปรดทราบว่าชื่อบันเดิลยังใช้เป็นคำนำหน้าสำหรับ HTTP user-agent