ฉันได้รับข้อผิดพลาดของการตั้งค่าการจัดเตรียมที่ขัดแย้งกันเมื่อพยายามเก็บถาวรเพื่อส่งแอพ iOS


312

ตอนนี้ฉันกำลังพยายามผลิตภัณฑ์> เก็บแอป iOS ของฉันเพื่อส่ง อย่างไรก็ตามฉันได้รับข้อผิดพลาดดังต่อไปนี้:

AppName มีการตั้งค่าการเตรียมการที่ขัดแย้งกัน AppName ได้รับการลงนามโดยอัตโนมัติเพื่อการพัฒนา แต่มีการระบุตัวตนการลงรหัสรหัสที่ขัดแย้งการกระจาย iPhone ได้ด้วยตนเอง ตั้งค่ารหัสการเซ็นชื่อรหัสiPhone Developerในในตัวแก้ไขการตั้งค่าการสร้างหรือสลับเป็นการเซ็นชื่อด้วยตนเองในตัวแก้ไขโครงการ '

ต้องมีการเซ็นชื่อรหัสสำหรับประเภทผลิตภัณฑ์ 'แอปพลิเคชัน' ใน SDK 'iOS 10.1' '

สถานการณ์จะไม่เปลี่ยนแปลงแม้แต่สิ่งที่ฉันลองอีกครั้งเพื่อสร้างใบรับรอง iOS หรือโปรไฟล์การจัดสรรใหม่

ผมได้รับการตั้งค่าเป็นในiOS Distribution TARGETS > Code Signing Identity > Release > Any iOS SDKเมื่อฉันเปลี่ยนการตั้งค่าiOS Developerที่นี่และเปลี่ยนการตั้งค่าPROJECTS > Code Signing Identity > Release > Any iOS SDKเป็นiOS Distributionฉันได้สำเร็จในการเก็บถาวร ฉันสงสัยว่าจำเป็นต้องตั้งค่าiOS Distributionในตัวแก้ไขเป้าหมายหรือไม่ และถ้าเป็นข้อบังคับโปรดช่วยให้ฉันรู้ว่าฉันจะแก้ไขข้อผิดพลาดนี้ได้อย่างไร

รุ่น XCode ของฉันคือ 8.1


4
คุณต้องตรวจสอบให้แน่ใจว่าการตั้งค่าการเซ็นรหัสไม่ได้ขัดแย้งกันระหว่างโครงการและเป้าหมาย
max_

1
ฉันคิดว่าฉันได้ลองใช้การตั้งค่าการเซ็นรหัสทุกครั้งระหว่างโครงการและเป้าหมาย ปัญหาของฉันอยู่ที่การตั้งค่าใด ๆ ฉันไม่สามารถประสบความสำเร็จได้เมื่อฉันตั้งค่าเป็น iOS Distributionในตัวแก้ไขเป้าหมายและฉันสงสัยว่าจำเป็นหรือไม่
vanagar

1
@BenLeggiero กรุณาเห็นstackoverflow.com/a/52573190/341994 มีวิธีทำความสะอาดด้วยตนเองตามที่อธิบายไว้
แมตต์

ขอบคุณสำหรับตัวชี้ @matt! นั่นไม่ได้นำไปใช้โดยตรงกับปัญหาที่ฉันกำลังทำอยู่เนื่องจากเรากำลังสร้างแอพ Mac และไม่ใช้การรวมเช่น Game Center จะคั่นหน้าไว้เพื่อภายหลัง!
Ben Leggiero

คำตอบ:


897

ฉันมีข้อผิดพลาดเดียวกันนี้ แต่ฉันได้ตรวจสอบแล้ว "จัดการการลงชื่ออัตโนมัติ"

วิธีแก้ไขคือยกเลิกการเลือกจากนั้นตรวจสอบอีกครั้งและเลือกทีมอีกครั้ง จากนั้น Xcode จะแก้ไขสิ่งที่ทำให้เกิดปัญหาด้วยตนเอง


15
ขอบคุณ! สิ่งนี้ใช้ได้กับฉันสำหรับทุกคนที่ใช้คอร์โดวาเพื่อสร้างแพลตฟอร์ม iOS ฉันได้รับข้อผิดพลาดนี้แม้ใช้คอร์โดวารุ่นล่าสุด การลงชื่อโดยอัตโนมัติถูกตรวจสอบโดยค่าเริ่มต้น แต่ไม่ได้เลือกทีม มันก็ต่อเมื่อฉันยกเลิกการเลือกจัดการการลงชื่อและการเซ็นชื่ออัตโนมัติที่เลือกและทีมก็สามารถทำงานนี้ได้ ขอบคุณอีริน!
Jtello

2
เมื่อฉันตรวจสอบอีกครั้งการเซ็นชื่อโค้ดจะตั้งค่า iOs Developer โดยอัตโนมัติ แต่ฉันต้องตั้งค่าการกระจาย iOs และเมื่อฉันตั้งค่า XO การแจกจ่าย iOs ผ่านข้อยกเว้นเดียวกันอีกครั้งตามที่กล่าวไว้ข้างต้น
ami rt

1
@ amirt ฉันมีปัญหาเช่นเดียวกับคุณ คุณแก้ไขหรือไม่
Kimi Chiu

@KimiChiu ใช่พี่ชายฉัน
ami rt

2
ถูกต้อง แต่เพื่อให้ชัดเจนขึ้นนี่คือสิ่งที่ฉันได้รับ: - คุณต้องสร้างโปรไฟล์การจัดสรรการแจกจ่ายด้วยตนเอง (ผ่านทางเว็บไซต์นักพัฒนา Apple) ด้วยตนเอง การลงชื่ออัตโนมัติไม่ได้ทำเพื่อคุณ - ในกรณีที่รหัสประจำตัวการลงชื่อในการตั้งค่าการสร้างอย่างใดอย่างหนึ่งเมา: ทั้ง 4 คนจะต้องตั้งค่าเป็น "นักพัฒนา iOS" (แม้แต่คนที่วางจำหน่ายสำหรับการปล่อย) สำหรับการลงชื่ออัตโนมัติเพื่อทำงาน
jakob.j

153

ฉันมีปัญหาเดียวกันฉันสังเกตเห็นว่าหากคุณต้องการเปิดตัวแอป iOs ของคุณและเผยแพร่บน App Store คุณไม่จำเป็นต้องใส่ "รหัสการลงนามรหัสประจำตัว" เป็นการวางจำหน่ายเพียงแค่เก็บไว้เป็น นักพัฒนา iOs

ไปที่โครงการของคุณ -> สร้างการตั้งค่า -> รหัสการลงนามรหัสและนำทุกอย่างให้กับนักพัฒนา iO

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


3
ใช่งานนี้ แต่สำหรับโฆษณาเฉพาะกิจฉันต้องปิดใช้งานการลงชื่ออัตโนมัติและไปที่นั่นแล้วตั้งค่า "การกระจาย iOS" แทน ทำไม Apple จึงใช้วิธีนี้ มันไม่สมเหตุสมผลเลย :(
algrid

มันเป็นคำตอบที่ดีที่สุด xcode จะเขียนการตั้งค่าในเครื่องเมื่อ "เก็บถาวร"
Tom Marvolo Riddle

โปรดดูที่ "ตรวจสอบเนื้อหา xxx.ipa:" ปรากฏขึ้นหลังจากเก็บถาวรมันคือ "ใบรับรอง: การกระจาย iOS"
Tom Marvolo Riddle

นี่ควรเป็นคำตอบที่ถูกต้อง โซลูชันที่ยอมรับสำหรับคำถามนี้ถูกต้องเพียงบางส่วน
Sanchit Kumar Singh

72

สำหรับผู้ที่มาจาก Ionic หรือ Cordova คุณสามารถลองทำสิ่งต่อไปนี้:

เปิดไฟล์yourproject/platforms/ios/cordova/build-release.xcconfigและเปลี่ยนจากนี้:

CODE_SIGN_IDENTITY = iPhone Distribution
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Distribution

เป็นนี้

CODE_SIGN_IDENTITY = iPhone Developer
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Developer

และลองเรียกใช้ios cordova build ios --releaseอีกครั้งเพื่อคอมไพล์บิลด์รีลีส

การอ้างอิง: https://forum.ionicframework.com/t/ios-build-release-error-is-automatically-signed-for-development-but-a-conflicting-code-signing-identity-iphone-distribution-has- รับ-ระบุด้วยตนเอง / 100633/7


3
หลังจากลองคำตอบอื่น ๆ ทั้งหมดนี่คือคำตอบที่ทำให้ฉันได้ในที่สุด ขอบคุณ!
mikewagz

1
ไฟล์ที่เรียกว่าตอนนี้สร้าง release.xcconfig คุณพลาด 'c' นี่คือสคริปต์ทุบตีที่ต้องทำ: `` `` #! / usr / bin / env ทุบตี sed -i "" "s / การกระจาย iPhone / iPhone / ผู้พัฒนา iPhone / g" แพลตฟอร์ม / ios / cordova / build-release.xcconfig ออกจาก 0; `` ``
Kent Bull

3
นอกจากนี้คุณยังสามารถแสดงความคิดเห็นออกบรรทัด; การตั้งค่า iPhone Developer ตั้งอยู่build.xcconfigบรรทัดเหล่านี้จะแทนที่มัน
จูลส์

3
ฉันเพียงแค่ลบสองบรรทัดนั้นและให้ Xcode จัดการการลงชื่อโดยอัตโนมัติ
Ryan H.

3
คุณสามารถใช้ปลั๊กอิน Cordova-custom-config เพื่อทำสิ่งนี้โดยอัตโนมัติด้วยบรรทัดต่อไปนี้ใน config.xml: <custom-preferences buildType = "release" name = "ios-XCBuildConfiguration-CODE_SIGN_IDENTITY" ค่า = "iPhone Developer" xcconfigEnforce = " true"/> <กำหนดเองการตั้งค่า buildType = "ปล่อย" ชื่อ = "iOS-XCBuildConfiguration-CODE_SIGN_IDENTITY [SDK = iphoneos *]" value = "iPhone Developer" xcconfigEnforce = "true"/>
FactualHarmony

64

คุณคิดมากเกินไป กระบวนการนี้ได้รับการปรับปรุงอย่างมากมายและง่ายมากใน Xcode 8 ใช้ประโยชน์จากข้อเท็จจริงนี้

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

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

ขั้นตอนที่สอง : ตรวจสอบให้แน่ใจว่าคุณมีข้อมูลประจำตัวการแจกจ่าย iOS (ใบรับรอง) คุณสามารถตรวจสอบได้ภายใต้การตั้งค่า Xcode> บัญชีดูรายละเอียด นอกจากนี้ยังเป็นความคิดที่ดีในเวลานี้ที่จะไปที่ศูนย์สมาชิกและรับบทบัญญัติของอุปกรณ์พกพาสำหรับ App Store สำหรับตัวคุณเองและดาวน์โหลดและติดตั้ง

ขั้นตอนที่สาม : เลือก "อุปกรณ์ iOS ทั่วไป" เป็นปลายทางของคุณและเลือกผลิตภัณฑ์> เก็บถาวร แอพจะถูกคอมไพล์สร้างไฟล์เก็บถาวรและตอนนี้คุณก็พร้อมที่จะส่งไปยัง App Store


ขอบคุณมาก! มันประสบความสำเร็จ ฉันขอยืนยันเกี่ยวกับขั้นตอนที่ 2: โหลดลง "การจัดเตรียมอุปกรณ์เคลื่อนที่" นั่นคือ "โปรไฟล์การจัดสรร iOS (การกระจาย)" หรือไม่ ฉันเพิ่งคลิกสองครั้งที่ไฟล์ที่ดาวน์โหลดมาและนั่นคือการติดตั้งที่คุณพูดถึงที่นี่?
vanagar

ใช่แล้ว ตอนนี้ไฟล์ที่ดาวน์โหลดได้ถูกคัดลอกไปยังโลกของ Xcode (คุณสามารถส่งออกไปเป็นต้นฉบับ) และจะเห็นโดย Xcode เมื่อคุณส่งไปยัง App Store
แมตต์

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

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

1
@andreszs การลงชื่ออัตโนมัติทำหน้าที่ได้ดีในการสร้างใบรับรองและโปรไฟล์การพัฒนาซึ่งเป็นสิ่งที่คุณต้องการในการพัฒนาและเก็บถาวร แต่เมื่อเวลามาถึงการกระจายไปยัง app store ฉันพบว่ามันเป็นความคิดที่ดีในการสร้างโปรไฟล์การกระจายด้วยตนเองและดาวน์โหลดพร้อมที่จะใช้ในระหว่างกระบวนการส่งออก
matt

52

หากคุณได้รับข้อผิดพลาดนี้

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

จากนั้นตรวจสอบให้แน่ใจว่าคุณมีตัวเลือกPROVISIONING_PROFILE ที่ว่างเปล่าในการตั้งค่าBuild Build Target :

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


1
ฉันไม่ได้แยกความแตกต่างระหว่างผู้ใช้และโปรไฟล์การสร้างระบบ ... ดังนั้นขอขอบคุณสำหรับการชี้ให้เห็นว่ามันเป็น "PROVISIONING_PROFILE"
petrosmm

สิ่งนี้ช่วยฉัน
Rafal Zawadzki

นี่เป็นข้อผิดพลาดที่ฉันค้นหาและมีลิงก์ไปยังคำถาม SO นี้ แต่นี่คือคำตอบที่ฉันต้องการ โปรดทราบว่าการพยายามระบุค่า "อัตโนมัติ" จริง ๆ แล้วไม่ทำงาน คุณไม่จำเป็นต้องระบุทุกอย่างแม้จะมีข้อความแสดงข้อผิดพลาดว่าเป็นอย่างอื่น สำหรับฉันเราใช้ไฟล์ xcconfig ดังนั้นมันจึงเป็นเรื่องของการลบการตั้งค่าในไฟล์ปรับแต่ง
user107172

29

อย่าลืมที่จะทำเช่นนี้

เลือกโครงการ -> การตั้งค่าการสร้าง ค้นหา PROVISIONING_PROFILE และลบสิ่งที่ไร้สาระออกไป


1
อาจเป็นทางออกเดียวที่ทำเพื่อฉันขอบคุณ
Alexander Vitanov

4
ฉันทำสิ่งนี้ร่วมกับการไม่เลือกและตรวจสอบอีกครั้งโดยอัตโนมัติจัดการการเซ็นชื่อบนแท็บทั่วไปแล้วเลือกทีมอีกครั้ง ขอบคุณ Rein และ Erin (เฮ้มองที่ชื่อของคุณคือแอนนาแกรม!)
เดฟเลวี

ดีที่น่าสนใจ @DaveLevy
Rein rPavi

ฉันไม่ได้ให้เครดิตมากนักเพราะ PROVISIONING_PROFILE ของฉันดูเหมือนจะไม่มีขยะมีการตั้งค่า "อัตโนมัติ" และดูดี การลบและเปิดใช้งานการลงชื่ออัตโนมัติอีกครั้งเป็นเคล็ดลับ!
Rafael Nobre

1
มันถูกตั้งค่าเป็น "อัตโนมัติ" และไม่สามารถลบได้
Dror Bar

22

หากคุณมาจากโลกของอิออน คุณอาจได้รับข้อผิดพลาด "การลงนามรหัสข้อขัดแย้ง" เมื่อคุณอยู่ในขั้นตอน "เก็บถาวร" ดังต่อไปนี้:

... ได้รับการลงนามโดยอัตโนมัติเพื่อการพัฒนา แต่มีการระบุตัวตนการลงรหัสรหัสที่ขัดแย้งการกระจาย iPhone ได้ด้วยตนเอง ตั้งค่ารหัสการเซ็นชื่อรหัสเป็น "นักพัฒนา iPhone" ในตัวแก้ไขการตั้งค่าการสร้างหรือเปลี่ยนเป็นการเซ็นชื่อด้วยตนเองในตัวแก้ไขโครงการ ต้องมีการเซ็นชื่อรหัสสำหรับประเภทผลิตภัณฑ์ 'แอปพลิเคชัน' ใน SDK 'iOS 10.x'

ในกรณีนี้โปรดไปที่การตั้งค่าการสร้าง / ภายใต้การเซ็นชื่อรหัสการเซ็นชื่อและเลือกทั้งสองอย่างเป็นผู้พัฒนา iOS ไม่ใช่การกระจาย

ไปที่เมนู: ผลิตภัณฑ์ / เก็บถาวรอีกครั้งจากนั้นปัญหาจะได้รับการแก้ไข


2
ปัญหาคือมันได้รับการรีเซ็ตทุกบิลด์ ... นี่คือการสร้างบิลด์อัตโนมัติของเรา แนวคิดใดที่จะเปลี่ยนแปลงสิ่งนี้ในสคริปต์ที่ไม่โต้ตอบ?
Webberig

1
ยอดเยี่ยมปัญหานี้แก้ไขได้สำหรับฉัน วิธีการแก้ปัญหานี้ทำให้รู้สึกที่สมบูรณ์แบบในความเข้าใจย้อนหลังและมีการบริโภคแอลกอฮอล์
Steven Kramer

18

สำหรับผู้ที่มาจาก Ionic หรือ Cordova คุณสามารถลองทำสิ่งต่อไปนี้: ตัดการเชื่อมต่ออุปกรณ์ iOS ของคุณจากคอมพิวเตอร์ก่อนios cordova build ios --release(ดูเหมือนจะเปลี่ยนอุปกรณ์เป้าหมายสำหรับการลงชื่อ xcode)


6
นี่คือคำตอบที่โง่ที่สุดและได้ผลอย่างสมบูรณ์ ฉันเกลียดการแก้ปัญหาทั้งหมดที่เราต้องทำกับ Xcode เพื่อให้แอปทำงานได้
Jordan Benge

ถูกต้องแล้ว เมื่อฉันเชื่อมต่อ iPad แทน iPhone ฉันได้รับข้อผิดพลาดนี้ เมื่อฉันตัดการเชื่อมต่ออุปกรณ์ iOS ทั้งหมดและสร้างจากบรรทัดคำสั่งมันทำงานได้ดีหลังจากนั้น
Neel

ถูกต้องแน่นอน ฉันพยายามแก้ปัญหานี้มาทั้งวันและนี่เป็นทางออกเดียวที่เหมาะกับฉัน
ulisesvera

1
IOS ทำให้ฉันโกรธ .. ทุกอย่างจะต้องมีการแก้ไขผ่านการกระตุก .... อย่างอื่นขอบคุณเพื่อน
Seloka

15

ไปที่การสร้างการตั้งค่าค้นหาการเซ็นชื่อรหัสและตั้งค่า iOS SDK ใด ๆ สำหรับนักพัฒนา iOS:

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


4
ใช่นั่นคือสิ่งที่ข้อความผิดพลาดขอให้ทำ แต่คุณสามารถอธิบายได้หรือไม่ว่าทำไมในโลกที่ใช้ "iOS Developer" สำหรับการวางตลาดจะมีเหตุผลหรือไม่?
algrid

แปลกนี่คือสิ่งที่ทำงานได้ดีสำหรับโครงการที่สร้างความเป็นหนึ่งเดียวจากที่ผ่านมา
ina

15

ทางออกเดียวสำหรับฉัน:

  1. ปิดโครงการ Xcode
  2. การใช้เครื่องมือค้นหาไปที่โฟลเดอร์โครงการ
  3. คลิกขวาที่. xcodeproj และเลือก "แสดงเนื้อหาแพ็คเกจ"
  4. คลิกขวาที่ project.pbxproj ไปที่ "Open With" และเลือก TextEdit
  5. ตอนนี้ค้นหาอินสแตนซ์โปรไฟล์ Provision ของคุณที่ระบุในข้อความแสดงข้อผิดพลาด
  6. ลบข้อความที่พบทั้งหมดและทำให้โปรไฟล์การจัดสรรสะอาด
  7. บันทึก & ปิด
  8. เปิด Xcode
  9. เปิดใช้งานจัดการการลงชื่อโดยอัตโนมัติ

สนุก! หวังว่ามันจะมีประโยชน์!


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

จริงๆแล้วมันสามารถใช้งานได้หากคุณมีบัญชีผู้พัฒนาเดียวและหนึ่งแอพ แต่สำหรับหลาย ๆ แอปมันทำให้เกิดปัญหาอื่น ๆ
goraga1

9

สำหรับผมเปลี่ยนCode Signing IdentityทุกiOS Developerสำหรับทั้งสองและDebugRelease

และเพื่อCode Signing StyleAutomatic

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


8

ในกรณีของฉันฉันตั้งค่าตัวเลือก "อัตโนมัติ" ในการตั้งค่าการสร้าง

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


7

ลองทำอย่างใดอย่างหนึ่งต่อไปนี้

1. การลบและเพิ่มแพลตฟอร์ม ios และสร้างโครงการสำหรับ ios

ionic cordova platform rm ios
ionic cordova platform add ios
ionic cordova build ios --release

2. การเปลี่ยนการตั้งค่า Xcode Build

วิธีแก้ไขคือยกเลิกการเลือกจากนั้นตรวจสอบอีกครั้งและเลือกทีมอีกครั้ง จากนั้น Xcode จะแก้ไขสิ่งที่ทำให้เกิดปัญหาด้วยตนเอง

3. เปลี่ยนรหัสต่อไปนี้ในแพลตฟอร์ม

สิ่งนี้ไม่สมเหตุสมผลสำหรับฉันเนื่องจากฉันได้ตั้งค่าโครงการให้ลงชื่อเข้าใช้อัตโนมัติด้วย xcode เช่นเดียวกับคุณการตรวจสอบและยกเลิกการเลือกไม่ทำงาน แต่จากนั้นฉันอ่านเส้นทางไฟล์สุดท้ายที่กำหนดและติดตาม พา ธ ของไฟล์คือ APP> แพลตฟอร์ม> ios> Cordova> build-release.xconfig

และในไฟล์นั้นการกระจาย iPhone ถูกตั้งค่าไว้อย่างชัดเจนสำหรับ CODE_SIGN_IDENTITY

เปลี่ยนแปลง:

CODE_SIGN_IDENTITY = iPhone Distribution
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Distribution

ถึง:

CODE_SIGN_IDENTITY = iPhone Developer
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Developer

7

ฉันต้องดิ้นรนเป็นเวลานานฉันพยายามแก้ปัญหาทั้งหมดที่เสนอ ไม่มีอะไรทำงานให้ฉัน

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

ฉันหวังว่านี้จะช่วยให้คนอื่น :)


6

ค้นหาไฟล์. xcodeproj และเปิดด้วยเครื่องมือแก้ไขข้อความ

ค้นหาช่องด้านล่างและทำให้เป็นแบบนี้

CODE_SIGN_IDENTITY = "ผู้พัฒนา iPhone"; "CODE_SIGN_IDENTITY [sdk = iphoneos *]" = "ผู้พัฒนา iPhone";

PROVISIONING_PROFILE = "";

PROVISIONING_PROFILE_SPECIFIER = "";


6
  1. ทั่วไป -> การลงชื่อ -> ตรวจสอบจัดการการลงชื่อโดยอัตโนมัติและเลือกทีม

  2. การตั้งค่าการสร้าง -> การลงชื่อ -> รหัสการเซ็นชื่อรหัส -> ตั้งค่าทั้งหมดเพื่อ "นักพัฒนา IOS"


4

สิ่งเดียวที่ได้ผลสำหรับฉัน

เปิดโครงการ -> เลือกเป้าหมายของคุณ -> ไปที่การตั้งค่า Build -> ค้นหาการจัดเตรียมและลบโปรไฟล์ที่เลือก


2

ในกรณีของฉันฉันต้องลงชื่อเข้าใช้เว็บไซต์นักพัฒนา Apple และรีเซ็ตรายการอุปกรณ์

ดูเหมือนว่าพวกเขาต้องการให้คุณทำทุกปีเมื่อมีการต่ออายุการสมัครก่อนที่จะสามารถเพิ่มอุปกรณ์ใหม่และสร้างใบรับรอง


2

ฉันมีปัญหาเดียวกัน Mine ได้รับการแก้ไขโดยค้นหา "โปรไฟล์การจัดสรร" ในการตั้งค่าส่วนขยายการสร้าง

จากนั้นมีฟิลด์ "โปรไฟล์การจัดสรร" สองช่องที่นั่นช่องหนึ่งช่องปกติและช่องว่างหนึ่งช่อง รายการปกติอยู่บนอัตโนมัติ แต่รายการที่เลิกใช้ไม่ได้ การเปลี่ยนอันนั้นเป็น Automatic เป็นการแก้ไขข้อผิดพลาดของฉันด้วย


2

สำหรับฉันฉันได้ลากdump_symsไบนารีและสคริปต์จำนวนมากไปยังเป้าหมายการสร้างของฉันเมื่อฉันติดตั้ง Firebase SDK ด้วยตนเอง การลบสิ่งเหล่านั้นออกจากเป้าหมายและโครงการของฉันแก้ไขปัญหาได้


ไม่จริงขอบคุณสำหรับการชี้ไปในทิศทางที่ถูกต้อง ข้อมูลเพิ่มเติมที่นี่: stackoverflow.com/questions/41056047/…
Dror Bar

2

การใช้ Xcode 10: ไม่มีวิธีแก้ไขปัญหาอื่นที่นี่ใช้ได้สำหรับฉัน

ข้อผิดพลาดนี้ดูเหมือนจะเป็นสิ่งที่คุณไม่สามารถแก้ไขได้ใน Xcode 10

ฉันต้องเปลี่ยนกลับไปเป็น Xcode 9 เพื่อแก้ไขปัญหานี้จากนั้นอัปเดตกลับเป็น Xcode 10 ดังนั้นฉันจึงสามารถเรียกใช้แอปพลิเคชันของฉันบน iOS 12 บนอุปกรณ์ที่ไม่ใช่ตัวจำลอง

โซลูชันอื่นใดที่พบใน Stack Overflow หรือที่อื่น ๆ ซึ่งใช้ใน Xcode 10 ส่งฉันเข้าสู่รอบการสิ้นสุดของความขัดแย้งในการจัดเตรียมหรือปัญหาการลงนามใบรับรอง ดูเหมือนว่าการลงชื่อเข้าใช้จะถูกทำลายใน Xcode 10 ไม่ว่าคุณจะใช้วิธีอัตโนมัติหรือเลือกโปรไฟล์และใบรับรองการจัดเตรียมด้วยตนเอง

คุณสามารถเปลี่ยนกลับเป็น Xcode 9 ได้โดยการลบ Xcode 10 ก่อนจากโฟลเดอร์ Applications ของคุณ จากนั้นติดตั้ง Xcode 9 โดยใช้ไฟล์ .xip ที่ระบุไว้ในหน้าแอปเปิ้ลพัฒนานี้

ใน Xcode 9 ให้ใช้ตัวเลือกการสร้างอัตโนมัติ คุณอาจจะต้องยกเลิกการทำเครื่องหมาย 'โดยอัตโนมัติจัดการลงนาม' และเลือกใหม่และคุณยังอาจจะต้องเพิกถอนใบรับรองที่มีอยู่ที่developer.apple.com

หลังจากคุณได้รับแอปเพื่อสร้างสำเร็จใน Xcode 9 คุณสามารถอัปเดตกลับเป็น Xcode 10 โดยใช้ App Store หลังจากเปิดแอปพลิเคชันอีกครั้งใน Xcode 10 ทุกอย่างยังคงทำงานได้ คุณอาจไม่จำเป็นต้องทำสิ่งนี้ แต่ฉันจำเป็นต้องสร้างสำหรับ iOS 12 ซึ่งต้องใช้ Xcode 10


ลองเพิ่มการตั้งค่าสถานะ - buildFlag = "- UseModernBuildSystem = 0"
Redwolf

2

ฉันเปิดไฟล์โครงการในเท็กซ์เอดิเตอร์ "Atom" จากนั้นฉันค้นหา id โปรไฟล์การจัดเตรียมและลบออก


0

เปลี่ยนการลงชื่อเข้าใช้รหัสของคุณเป็นใบรับรองการแจกจ่าย


ขอบคุณ แต่ฉันได้ลองหลายครั้งในช่วง 3 วันที่ผ่านมาและล้มเหลวทุกครั้ง
vanagar

0

หลังจากอัปเดตเป็น Xcode 8.3.2 ฉันมีข้อผิดพลาดเดียวกันกับโครงการ Cordova ฉันจำเป็นต้องอัปเกรด Cordova (v7.0.0) และแพลตฟอร์ม iOS (v4.4.0) เพื่อให้การลงชื่อรหัสใช้งานได้



0

โปรดตรวจสอบให้แน่ใจว่า "ตัวระบุกลุ่มผลิตภัณฑ์" ในชื่อการตั้งค่าการสร้างตรงกับตัวระบุกลุ่มที่แท้จริงซึ่งใช้งานได้สำหรับฉัน


0

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


0

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


0

ปัญหาอยู่ในการตั้งค่า Cordova

โปรดสังเกตสิ่งนี้:

iPhone Distribution has been manually specified

สิ่งนี้ไม่สมเหตุสมผลสำหรับฉันเนื่องจากฉันได้ตั้งค่าโครงการให้ลงชื่อเข้าใช้อัตโนมัติด้วย xcode เช่นเดียวกับคุณการตรวจสอบและยกเลิกการเลือกไม่ทำงาน แต่จากนั้นฉันอ่านเส้นทางไฟล์สุดท้ายที่กำหนดและติดตาม เส้นทางของไฟล์คือAPP > Platforms > ios > Cordova > build-release.xconfig

และในแฟ้มจัดจำหน่าย iPhone CODE_SIGN_IDENTITYถูกกำหนดอย่างชัดเจนสำหรับ

เปลี่ยนแปลง:

CODE_SIGN_IDENTITY = iPhone Distribution
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Distribution

ถึง:

CODE_SIGN_IDENTITY = iPhone Developer
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Developer

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

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