ฉันได้รับข้อผิดพลาดนี้กับ Xcode 5 เมื่อพยายามเรียกใช้แอปบนอุปกรณ์ของฉัน
ไฟล์ปฏิบัติการถูกเซ็นชื่อด้วยสิทธิ์ที่ไม่ถูกต้อง
ทำงานได้ดีกับ Xcode 4.x. ใครรู้วิธีกำจัดข้อผิดพลาด
ฉันได้รับข้อผิดพลาดนี้กับ Xcode 5 เมื่อพยายามเรียกใช้แอปบนอุปกรณ์ของฉัน
ไฟล์ปฏิบัติการถูกเซ็นชื่อด้วยสิทธิ์ที่ไม่ถูกต้อง
ทำงานได้ดีกับ Xcode 4.x. ใครรู้วิธีกำจัดข้อผิดพลาด
คำตอบ:
ฉันต่อสู้กับปัญหานี้เป็นเวลาหนึ่งชั่วโมงและในที่สุดก็พบวิธีแก้ไข ปรากฎว่าทีมพัฒนาแตกต่างกันใน ProjectTarget และ ProjectTests
การรีสตาร์ท Xcodeเป็นสิ่งที่ได้ผลสำหรับฉัน
ฉันพบปัญหา แอปที่ฉันสร้างบน developer.apple.com ไม่มีเสียงระหว่างแอป ไฟล์ plist การให้สิทธิ์โปรเจ็กต์บน Xcode มีการตั้งค่าเสียงระหว่างแอปเป็น YES (โดยค่าเริ่มต้น) เมื่อฉันเปลี่ยนการตั้งค่าในการกำหนดค่าแอปของฉันใน developer.apple.com เพื่อเปิดใช้งานเสียงระหว่างแอป จากนั้นแอปของฉันก็ทำงานบนอุปกรณ์ของฉัน ฉันเดาว่านั่นเป็นกฎใหม่ของ Apple ที่จะทำให้การตั้งค่าแอปของคุณสอดคล้องกันทั้งใน developer.apple.com และการตั้งค่าโครงการ xcode ของคุณ
ฉันสามารถแก้ไขปัญหานี้ได้โดยการเปิด / ปิดการให้สิทธิ์ "Game Center" ใน Xcode 5 :-)
ไม่มีวิธีแก้ปัญหาใด ๆ สำหรับฉันจนกว่าฉันจะตรวจสอบและตั้งเป้าหมายการทดสอบแอปเป็นโปรไฟล์การจัดเตรียมเดียวกันกับแอปหลัก หรือถ้าคุณใช้การร้องเพลงอัตโนมัติให้แน่ใจว่าคุณได้เลือกทีมเดียวกันในเป้าหมายการทดสอบ
สำหรับ XCode 10 อาจต้องใช้ระบบการสร้างแบบเดิม
สามารถเปลี่ยนแปลงได้จากการตั้งค่าไฟล์ / โครงการ ข้อผิดพลาด ITMS-90174: "ไม่มีโปรไฟล์การจัดเตรียม - แอป iOS ต้องมีโปรไฟล์การจัดเตรียมในไฟล์ที่ชื่อฝังตัว Mobileprovision"
การแจ้งเตือน Cordova / ionic: https://github.com/apache/cordova-ios/issues/407
โซลูชันสำหรับXcodeล่าสุด:
ก่อนอื่นคุณต้องตรวจสอบสิ่งที่เปิดใช้งานในศูนย์สมาชิกของคุณสำหรับAppIDเฉพาะของคุณ:
จากนั้นในเป้าหมายที่เหมาะสมของคุณใน Xcode คุณต้องเปิดการใช้งานApp Group
ความสามารถเดียวกันในกรณีนี้: Game Center
, In-App Purchase
, ทั้งหมดของพวกเขาจะต้องมีการเปิดใช้งานในเป้าหมายของคุณใน Xcode
อย่างไรก็ตามมันไม่สำคัญสำหรับโหมดDEBUG :
มันสำคัญมากสำหรับโหมดปล่อยของคุณ:
โปรดทราบว่าGame Center
และIn-App Purchase
เปิดใช้งานโดยค่าเริ่มต้นในศูนย์สมาชิกแต่ถูกปิดใช้งานในเป้าหมายของ Xcode
ฉันคิดว่าปัญหาของคุณเกิดจากโปรไฟล์ที่คุณใช้ xCode4.6 และตอนนี้คุณใช้ xCode5
คุณต้องรีเฟรชใบรับรอง / โปรไฟล์การจัดเตรียมผ่าน XCode> Preferences> Accounts
XCode> การตั้งค่า> บัญชี> คลิกที่บัญชี DEV ของคุณ> ปุ่มดูรายละเอียด (ด้านล่างขวา)> หน้าจอ Signing Iden / PPs จะปรากฏขึ้น> กดรีเฟรช
จากนั้นเลือกอีกครั้งจากการตั้งค่าการสร้างโปรไฟล์ที่ถูกต้องและทำความสะอาดและสร้างโครงการของคุณ
หวังว่านี่จะช่วยคุณได้
ฉันต้องจับคู่ความสามารถของแอพใน Xcode5 ภายใต้
Capabilities ->
In-App purchase -> ON
Game Center -> ON
ด้วยสิ่งนั้นในโปรไฟล์กระตุ้น
xcode 6.1 (ตัวอย่าง HealthKit)
ฉันได้รับข้อผิดพลาดนี้เนื่องจากการผสานรวม HealthKit: ฉันได้เปิดใช้งานการซื้อในแอป Game Center และ Healkit แก้ไขปัญหาของฉันแล้ว .. เช่นเดียวกับที่ฉันเปิดใช้งานในโปรไฟล์การจัดเตรียม
(Xcode 6.1)
ปัญหาสำหรับฉันอยู่ในการตั้งค่าการสร้างของฉัน ฉันตั้งค่าโปรไฟล์การจัดเตรียมเป็นโปรไฟล์การผลิตของ App Store เมื่อพยายามปรับใช้กับอุปกรณ์ ฉันเปลี่ยนเป็น "อัตโนมัติ" และแก้ไขปัญหาของฉันได้ คุณยังสามารถตั้งค่าเป็นโปรไฟล์การจัดสรร Dev ของคุณ
ฉันมีใบรับรอง 2 ใบด้วยดังนั้นฉันจึงเพิ่มใบรับรองใบที่สองของฉันในการจัดหานักพัฒนาของฉัน คนอื่นคงไม่มีปัญหานี้
ฉันมีปัญหาคล้ายกันเมื่อฉันอัปเดตเป็น Xcode 10 ฉันแก้ไขปัญหาไปที่ไฟล์> การตั้งค่าโครงการในตัวเลือก "ระบบสร้างใหม่" ให้เลือก "ระบบสร้างแบบเดิม" นี่เป็นเคล็ดลับสำหรับฉันฉันหวังว่านี่จะช่วยใครบางคนได้
การทำความสะอาดและการสร้างที่เรียบง่ายดูเหมือนจะแก้ไขได้สำหรับฉัน
ฉันแก้ปัญหานี้โดยการลบทั้งหมด"PROVISIONING_PROFILE=..."
และ"PROVISIONING_PROFILE[sdk=iphoneos*]" = ...
ในproject.pbxprojและรีสตาร์ท Xcode และตั้งค่าโปรไฟล์การจัดเตรียมสำหรับเป้าหมายอีกครั้ง
หากการรีสตาร์ท xcode ไม่ได้ผลให้สร้างโปรไฟล์การจัดเตรียมใหม่และอย่าลืมรวมอุปกรณ์ทดสอบของคุณด้วย
ในกรณีของฉันไม่ได้เพิ่มอุปกรณ์ ฉันจึงต้องเพิ่มอุปกรณ์และสร้างโปรไฟล์การจัดสรรใหม่
สิ่งที่ต้องตรวจสอบอีกประการหนึ่ง - ตรวจสอบให้แน่ใจว่าคุณได้เลือกเอนทิตีที่ถูกต้องในทั้งสองอย่าง
เป้าหมาย -> เป้าหมายของคุณ -> สร้างการตั้งค่า -> การเซ็นชื่อ
และ
โครงการ -> โครงการของคุณ -> การตั้งค่าการสร้าง -> เอนทิตีการลงนามรหัส
ฉันได้รับข้อความนี้เมื่อฉันเลือกโปรไฟล์นักพัฒนาแบบเต็มในหนึ่งและเลือก Apple ID อื่น (ไม่ใช่ผู้พัฒนา) ไว้ในอีกรายการแม้ว่าจะไม่มีการขอสิทธิ์ในแอปก็ตาม
ดูเหมือนว่าจะมีข้อผิดพลาดเล็กน้อยใน Xcode พยายามเก็บถาวรแม้ว่าจะมีปัญหากับentitlements
ไฟล์. หากสิทธิ์ของคุณเรียบร้อยดีก็จะอัปโหลดได้โดยไม่มีปัญหาใด ๆ Apple ยอมรับและแอปของคุณจะเผยแพร่ไปยัง AppStore
ฉันทำแล้วและได้ผล :)
อาจเกิดจากการดำเนินการผิดรูปแบบเช่นกัน
ฉันมีปัญหาเดียวกันใน XCode 5 สิ่งนี้ช่วยฉันได้
XCode > Preferences > Location tab > DerivedData
กดลูกศรซ้ายเล็กน้อยเพื่อเปิด DerivedData ใน Finder ย้ายไปที่โฟลเดอร์ถังขยะของโครงการของคุณและสร้างใหม่
มีปัญหาบางอย่าง แก้ไข: ไปที่เป้าหมายที่ถูกต้อง -> ความสามารถ -> สำหรับฉันมีปัญหากับ "การซื้อในแอป" และปุ่มสำหรับแก้ไข ปัญหาการดำเนินการปิดเครื่อง
ในกรณีของฉัน: ฉันต้องเปิดใช้งาน Inter-App Audio in
Capabilities -> Inter-App Audio
ฉันคิดว่าเพราะฉันใช้ Parse.com Notification จึงต้องมีลิงก์ไปที่ AudioToolbox.framework
การเปิดใช้งานความสามารถ -> เสียงระหว่างแอปแก้ไขปัญหานี้ให้ฉันเช่นกัน ฉันกำลังพยายามส่งการแจ้งเตือนแบบพุชผ่านการแยกวิเคราะห์
คำตอบที่นี่ดูเหมือนจะไม่เพียงพอดังนั้นฉันจึงเพิ่มสองเซ็นต์ของฉัน:
วิธีแก้ปัญหาที่แท้จริงคือโดยทั่วไปมีความไม่ตรงกันระหว่างสิ่งที่เก็บไว้ในโปรไฟล์การจัดเตรียมของคุณ (ตรวจสอบที่ developer.apple.com -> สมาชิก -> ใบรับรอง -> ใบรับรองที่คุณใช้ [อย่าลืมตรวจสอบว่า dev / production) และสิ่งที่เปิดใช้งานในแอปของคุณ (คลิกสองครั้งที่ชื่อโครงการ) ภายใต้เมนูแนวนอนให้เลือก 'ความสามารถ' (ถัดจาก 'ทั่วไป')
หากคุณเพิ่งเปลี่ยนหนึ่งในสิ่งเหล่านี้อย่าลืมรีเฟรชใบรับรองของคุณภายใต้ XCode -> การตั้งค่า -> บัญชี -> รายละเอียด -> รีเฟรชไอคอนและรีสตาร์ท XCode
ในกรณีของฉันใบรับรอง APNS หมดอายุให้นำใบรับรองที่หมดอายุออกและสร้างโปรไฟล์การจัดสรรใหม่เพื่อแก้ไขปัญหา
ในกรณีของฉันฉันต้องยอมรับข้อตกลงสิทธิ์การใช้งานนักพัฒนาของ Apple
เข้าสู่ระบบบัญชีผู้พัฒนา Apple และสังเกตข้อความแจ้งเตือนที่คล้ายกับด้านล่าง
"ข้อตกลงสิทธิ์การใช้งานโปรแกรมนักพัฒนาของ Apple ได้รับการอัปเดตแล้วในการเข้าถึงทรัพยากรสมาชิกบางอย่าง **** ต้องยอมรับข้อตกลงใบอนุญาตล่าสุดภายในวันที่ 28 มิถุนายน 2016"
ก่อนหน้านี้ฉันไม่สามารถเพิ่ม / แก้ไข iCloud Containers ไปยัง App ID ได้แม้ว่าฉันจะเปลี่ยน / ตรวจสอบความสามารถโปรไฟล์การจัดเตรียมใบรับรอง ฯลฯ หลังจากตกลงในสัญญาสิ่งต่างๆก็เริ่มทำงานได้อย่างราบรื่น
หวังว่ามันจะช่วยประหยัดเวลาอันมีค่าของใครบางคนได้
ฉันเจอปัญหาเดียวกันเมื่อไม่นานมานี้ หลังจากอ่านคำแนะนำต่าง ๆ มากมายซึ่งไม่มีคำแนะนำใดที่ใช้ได้ผลสำหรับฉันในที่สุดฉันก็เข้าไปอยู่ใต้ฝากระโปรงและพบสาเหตุที่แท้จริงของปัญหา
ไฟล์การจัดเตรียมมือถือไม่ตรงกับไฟล์สิทธิ์ที่สร้างโดย Xcode
แม้ว่าไฟล์ทั้งหมดจะถูก anaged โดยอัตโนมัติโดยเครื่องมือของ Apple แต่ก็ไม่ถูกต้อง
หากคุณดาวน์โหลดไฟล์การจัดเตรียมจากพอร์ทัล Apple และเปิดขึ้นมา (คุณสามารถเปิดได้เนื่องจากเป็นเพียงไฟล์ plist ที่ลงนามโดยใบรับรองของคุณดังนั้นจึงสามารถอ่านได้โดยโปรแกรมแก้ไขข้อความ) และเปรียบเทียบกับไฟล์สิทธิ์ของคุณ (สร้างขึ้นโดยอัตโนมัติโดย Xcode และอยู่ในไฟล์โครงการ (ดังนั้นจึงเป็นอีกครั้งที่สามารถอ่านไฟล์ XML ได้โดยโปรแกรมแก้ไขข้อความ) จากนั้นคุณจะเห็นความแตกต่าง
ในกรณีของฉันมันคือสิทธิ์ Game Center แสดงบนพอร์ทัลตามที่เลือกไว้ (ตรวจสอบตามค่าเริ่มต้น) แต่จริงๆแล้วสิทธิ์นี้ไม่รวมอยู่ในไฟล์การจัดเตรียมอุปกรณ์เคลื่อนที่ ดังนั้นมันจึงเป็นเรื่องของการลบออกจากไฟล์สิทธิ
ผลลัพธ์ที่ได้คือ - เนื้อหาของโปรไฟล์การจัดเตรียมอุปกรณ์เคลื่อนที่บางครั้งไม่ตรงกับที่แสดงในหน้าการกำหนดค่ารหัสแอป
สำหรับผู้ที่มีปัญหาเดียวกันกับProvisioning Profile Automaticในเป้าหมาย Build Settings:
ระวังให้มากเมื่อคุณแก้ไขไฟล์สิทธิ์เป้าหมายของคุณ! ซึ่งอาจทำให้การติดต่อกับโปรไฟล์การจัดเตรียมที่สร้างขึ้นโดยอัตโนมัติผิดพลาดและคุณจะได้รับข้อผิดพลาดนี้
ในกรณีของฉันฉันต้องใช้คอนเทนเนอร์การผลิต iCloud ชั่วคราวกับการสร้างการแก้ไขข้อบกพร่อง ในการทำเช่นนั้นฉันแทรก
<key>com.apple.developer.icloud-container-environment</key>
<string>Production</string>
ในไฟล์สิทธิ์และใช้งานได้!
เพื่อเตือนฉันว่าฉันต้องลบบรรทัดเหล่านี้ในภายหลังฉันได้แทรกความคิดเห็นต่อไปนี้เพิ่มเติม:
<key>TODO</key>
<string>The entry below must be out commented or deleted to use the iCloud development environment.</string>
และนี้ยากจนการติดต่อและสร้างข้อผิดพลาด
ฉันใช้การแจ้งเตือนแบบพุชในแอปของฉันและหลังจากการพัฒนาเสร็จสิ้นฉันพยายามทดสอบการแจ้งเตือนแบบพุชสำหรับการกำหนดค่าการเผยแพร่การกำหนดค่าการปล่อยตอนนั้นฉันได้รับข้อผิดพลาดนี้
ฉันถูกใช้ผลิตรายละเอียดการจัดเตรียมที่จะเรียกใช้สำหรับการเปิดตัว ดังนั้นฉันจึงสามารถแก้ไขข้อผิดพลาดนี้ได้โดยใช้Adhoc Provisioning Profile