สิ่งที่คุณต้องทำคือการตั้งเพียงONLY_ACTIVE_ARCH
เพื่อNO
(ที่งานน้อยสำหรับฉัน) ด้านล่างเป็นภาพหน้าจอสำหรับมัน:
แก้ไข:
เท่าที่ผมรู้ว่า ( โปรดชี้ว่ามีบางอย่างผิดปกติขอบคุณ ) ถ้าคุณตั้งONLY_ACTIVE_ARCH
ไปYES
ก็หมายความว่า Xcode จะสร้างสถาปัตยกรรมที่ใช้งาน (ซึ่งหมายถึงอุปกรณ์ที่ใช้งานอยู่ใน Xcode ปัจจุบัน) ดูเหมือนว่าการตั้งค่าเริ่มต้นของ Xcode นั้นจะตั้งค่า Debug เป็นYES
ดังนั้นมันจะไม่สร้างไบนารีสำหรับสถาปัตยกรรมอื่น ๆ เมื่อคุณต้องการสร้างสำหรับอุปกรณ์พิเศษที่เชื่อมต่อกับ Mac ของคุณเท่านั้น
เหตุผลที่ล้มเหลวในการสร้างอาจเป็นเพราะโครงการไม่สนับสนุนสถาปัตยกรรมของอุปกรณ์ที่คุณเชื่อมต่อ ดังนั้นทางออกที่ดีที่สุดคือการเพิ่มสถาปัตยกรรมที่เหมาะสมสำหรับอุปกรณ์ของคุณ ด้านล่างเป็นรายการสำหรับสถาปัตยกรรมและอุปกรณ์ที่รองรับ:
- ARMv8 / ARM64:
iPhone 6
, iPhone 5s
, iPad Air
,Retina iPad Mini
- ARMv7s:
iPhone 5
, iPhone 5c
,iPad 4
- ARMv7:
iPhone 3GS
, iPhone 4
, iPhone 4S
, iPod 3G/4G/5G
, iPad
, iPad 2
, iPad 3
,iPad Mini
- ARMv6:
iPhone
, iPhone 3G
,iPod 1G/2G
ดังนั้นทำไม"ตั้งค่าONLY_ACTIVE_ARCH
เพื่อNO
"ผลงาน? เนื่องจากอุปกรณ์ยังสามารถเรียกใช้ไบนารีที่สร้างขึ้นสำหรับสถาปัตยกรรมทั้งหมดที่คุณเพิ่ม (ผ่านบิลด์) แต่จะสูญเสียประสิทธิภาพบางอย่าง นี่เป็นเพียงวิธีแก้ปัญหาอย่างรวดเร็ว แต่ไม่ดีที่สุด
หมายเหตุ : ยิ่งสถาปัตยกรรมที่คุณเพิ่มเข้ามาจะยิ่งสร้างไบนารีที่ใหญ่ขึ้น ดังนั้นจึงเป็นการดีที่จะเลือกสถาปัตยกรรมที่เหมาะสมสำหรับโครงการของคุณ ;)