เปลี่ยน Bundle Identifier ใน Xcode เมื่อส่งแอพแรกของฉันใน IOS


100

iOSฉันพยายามที่จะส่งแอปครั้งแรกของฉันใน ฉันได้ป้อนiOS Provisioning Portalและกำลังจะสร้างรหัสแอป

บอกว่าฉันตั้งชื่อตัวระบุบันเดิลของฉัน:

com.mycompany.appdemo

จากนั้นไปที่ Xcode และในส่วนสรุปฉันต้องการเปลี่ยนตัวระบุกลุ่ม

แต่ฉันไม่สามารถลบสิ่งที่เขียนอยู่ตรงนั้นได้มีเพียงจุดเริ่มต้นเท่านั้น ชื่อแอปของฉันเป็นสีเทาและฉันไม่สามารถลบหรือเปลี่ยนแปลงได้

ก็เลยเห็นเป็นสีเทา ๆ แบบนี้App-Demoซึ่งเป็นชื่อโครงการทางด้านซ้าย

คำถามของฉันคือมันเป็นปัญหาหรือไม่? ฉันต้องสร้างรหัสแอปใหม่ที่ชื่อcom.mycompany.App-Demoหรืออย่างอื่น?

นี่คือภาพด้วย ป้อนคำอธิบายภาพที่นี่ อย่างที่คุณเห็นฉันแก้ไขได้เฉพาะส่วนแรกเท่านั้น


2
คำถามและคำตอบล้าสมัย
Ian S

1
น่าจะใช่ตั้งแต่แรกถูกถาม> 5 ปีที่แล้ว
ghostrider

คำตอบ:


159

ตามค่าเริ่มต้น Xcode จะตั้งค่าตัวระบุบันเดิลเป็นตัวระบุบันเดิล / บริษัท ที่คุณตั้งค่าระหว่างการสร้างโปรเจ็กต์ + ชื่อโปรเจ็กต์

การสร้างโครงการ - Bundle / ตัวระบุ บริษัท + ชื่อผลิตภัณฑ์

ซึ่งคล้ายกับที่คุณเห็นในหน้าจอโครงการ> สรุป

โครงการ> สรุป

แต่คุณสามารถเปลี่ยนแปลงได้ในหน้าจอโครงการ> ข้อมูล (นี่คือ Info.plist)

โครงการ> ข้อมูล


8
หมายเหตุสำคัญคุณอาจต้องทำความสะอาดและสร้างใหม่หลังจากเปลี่ยนตัวระบุ
Claudiu

3
โปรดทราบว่าเมื่อฉันทำสิ่งนี้ดูเหมือนว่าเส้นทางไปยังไฟล์ข้อมูลหลักของฉันเปลี่ยนไป (ต้องเป็นฟังก์ชันของชื่อบันเดิล?) ดังนั้นการเรียกใช้แอปครั้งต่อไปพบว่าตัวเองไม่มีไฟล์ข้อมูลหลัก
Gallymon

ขอบคุณมาก. ฉันไม่เคยเดามาก่อนว่าเป็นไปได้ที่จะเปลี่ยนรหัส Bundle โดยตรงใน Info.plist
Avinash Meetoo

@neilvillareal ดูเหมือนจะเปลี่ยน แต่จริงๆแล้วมันไม่ได้เปลี่ยน ฉันสังเกตเห็นมันหลังจากที่ตั้งค่าโปรไฟล์การจัดเตรียมการแจกจ่ายใน developer.apple.com แล้วเมื่อฉันลองนำเข้ามันก็บอกว่า "โปรไฟล์การจัดเตรียม" Mrev "มีรหัสแอป" com.vividapartmentsteam.Mrev "ซึ่งไม่มี ตรงกับรหัสชุด "com.vividapartments.Mrev" " ฉันต้องบอกว่าฉันใช้ Cocoa pods และหากคุณคลิกขวาที่ Mrev.Xcworspace แสดงเนื้อหาแพ็คเกจคลิกขวา project.xcworkspace เปิดด้วย Sublime คุณจะไม่เห็นการเปลี่ยนแปลงภายใต้ PRODUCT_BUNDLE_IDENTIFIER หรือองค์กร
bibscy

ฉันหมายความว่าถ้าฉันเปิด Mrev.xcodeproj ฉันพิมพ์ผิดด้านบนและพูดว่า xcworkspace แทนที่จะเป็น. xcodeproj
bibscy

24

ฉันรู้ว่ามันมาช้า แต่อาจเป็นประโยชน์สำหรับผู้ที่ต้องการเปลี่ยน Bundle Identifier ของแอป ในตัวค้นหาไปที่โฟลเดอร์โครงการ:

the project file --> Right click on your project file '*.xcodeproj' 

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

--> choose 'Show Package Contents' 
--> Double click to open 'project.pbxproj' file 

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

--> find 'productName = NAME_YOU_WANT_TO_CHANGE' in the 
    '/* Begin PBXNativeTarget section */'

ตัวแปร $ {PRODUCT_NAME: rfc1034identifier} จะถูกแทนที่ด้วยชื่อที่คุณป้อนและ Bundle Identifier ใหม่จะได้รับการอัปเดตตามที่คุณต้องการ


11

นี่คือคำตอบจากเอกสารอย่างเป็นทางการของ Apple เพิ่งลองใช้งานได้

การตั้งค่า Bundle ID

รหัสกำค่าเริ่มต้นในโครงการ Xcode ของคุณคือสตริงที่มีรูปแบบเป็นย้อนกลับโดเมนเช่นcom.MyCompany.MyProductName เพื่อสร้างรหัสชุดเริ่มต้น Xcode เชื่อมระบุ บริษัท ที่มีชื่อผลิตภัณฑ์ที่คุณป้อนเมื่อสร้างโครงการจากแม่แบบตามที่อธิบายไว้ในการตั้งค่าคุณสมบัติเมื่อสร้างโครงการ Xcode ของคุณ (Xcode แทนที่ช่องว่างในชื่อผลิตภัณฑ์เพื่อสร้างรหัสชุดเริ่มต้น) อาจเพียงพอที่จะแทนที่คำนำหน้าตัวระบุ บริษัท ใน ID กลุ่มหรือคุณสามารถแทนที่ ID กลุ่มทั้งหมดได้ ตัวอย่างเช่นเปลี่ยนคำนำหน้าตัวระบุ บริษัท ให้ตรงกับชื่อโดเมน บริษัท ของคุณหรือแทนที่ ID กลุ่มทั้งหมดเพื่อให้ตรงกับรหัสแอปที่ชัดเจน

สำหรับแอพ Mac ตรวจสอบให้แน่ใจว่าทุกรหัสบันเดิลไม่ซ้ำกันภายใน App Bundle ของคุณ ตัวอย่างเช่นหาก App Bundle ของคุณมีแอปตัวช่วยตรวจสอบให้แน่ใจว่ารหัสชุดนั้นแตกต่างจากรหัสชุดของแอป

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

เพื่อตั้งค่าคำนำหน้า ID บันเดิล

  1. ในตัวนำทางโปรเจ็กต์เลือกโปรเจ็กต์และเป้าหมายของคุณเพื่อแสดงตัวแก้ไขโปรเจ็กต์

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

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

  1. ป้อนคำนำหน้ารหัสกลุ่มในช่อง "Bundle Identifier"

เพื่อตั้งรหัสบันเดิล

  1. ในตัวนำทางโปรเจ็กต์เลือกโปรเจ็กต์และเป้าหมายของคุณเพื่อแสดงตัวแก้ไขโปรเจ็กต์

  2. คลิกข้อมูล

  3. ป้อนรหัสกลุ่มในคอลัมน์ค่าของแถว "ตัวระบุกลุ่ม"

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

หากคุณสนใจที่จะอ่านเพิ่มเติมโปรดดูคู่มือการแจกจ่าย APPจาก Apple


OP ถามว่าจะเปลี่ยนชื่อโครงการยังไง ขั้นตอนข้างต้นมีไว้สำหรับการตั้งค่าโครงการ
elliotrock

10

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


9

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


ฉันต้องเพิ่มว่าฉันต้องลบและเพิ่ม Build Scheme ใหม่เพื่อให้แสดงชื่อใหม่หลังจากนี้
JoeGalind


3

จริงๆคุณสามารถเปลี่ยนได้ในการตั้งค่ารูปร่าง ; ที่ด้านล่างมีส่วน " ผู้ใช้กำหนดเอง " ซึ่งคุณสามารถเปลี่ยนได้อย่างง่ายดาย PRODUCT_BUNDLE_IDENTIFIER

ฉันชอบวิธีนี้เพราะถ้าคุณเปลี่ยนตัวแปรข้อมูลคุณกำลังเปลี่ยนการอ้างอิงเป็นค่าอื่น

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


2

วิธีแก้ปัญหาที่ง่ายมากคือการเปิดไฟล์:

YOURPROJECT.xcodeproj/project.pbxproj

และค้นหาตัวแปรนี้:

PRODUCT_BUNDLE_IDENTIFIER

คุณจะเห็นบางอย่างเช่นนั้น:

PRODUCT_BUNDLE_IDENTIFIER = com.YOUR_APP_NAME.SOMETHING;

ดังนั้นชื่อทางด้านขวาคือ Bundle Identifier ของคุณ ในกรณีของฉันมันทำงานได้อย่างสมบูรณ์


หากเป็นโครงการ Flutter บางครั้งค่าอาจอยู่ในหลายตำแหน่งในไฟล์เดียวกันอย่าลืมเปลี่ยนค่าในตำแหน่งที่ตรงกันทั้งหมด
Riswan


0

Xcode 7

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


0

หากคุณกำลังพัฒนาแอป Cordova ตรวจสอบให้แน่ใจว่าได้เปลี่ยนเวอร์ชันและตัวระบุบันเดิลด้วยconfig.xmlเช่นกัน


0

ดูภาพนี้เพื่อดูว่าคุณสามารถเปลี่ยนตัวระบุกลุ่มได้อย่างไร

คำอธิบาย:

  1. เลือกโครงการของคุณจากตัวนำทางโครงการด้านซ้ายสุด
  2. ภายใต้แท็บทั่วไปมีส่วนที่เรียกว่าเป้าหมายภายในซึ่งคุณจะเห็นชื่อโครงการของคุณ คลิกที่ชื่อ
  3. จากนั้นคุณจะเห็นตัวระบุกลุ่มซึ่งคุณสามารถเปลี่ยนแปลงได้ดังต่อไปนี้:

ดังที่คุณเห็นในภาพชื่อแอพของฉันคือ PracticeApp และตัวระบุกลุ่มของฉันคือ: com.hello500.PracticeApp

ในกรณีนี้คุณสามารถเปลี่ยนhello500เพื่อเปลี่ยนตัวระบุบันเดิลของแอพได้

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