อ้างจากQ&A QA1886 ทางเทคนิค :
แอป Swift ขัดข้องเมื่อพยายามอ้างอิงไลบรารี Swift libswiftCore.dylib
ถาม: ฉันจะทำอย่างไรเกี่ยวกับข้อผิดพลาดในการโหลด libswiftCore.dylib ในคอนโซลของอุปกรณ์ที่เกิดขึ้นเมื่อฉันพยายามเรียกใช้แอปภาษา Swift
ตอบ: ในการแก้ไขปัญหานี้คุณจะต้องลงนามแอปของคุณโดยใช้ใบรับรองการเซ็นชื่อรหัสพร้อมกับ Subject Organizational Unit (OU) ที่ตั้งค่าเป็น Team ID ของคุณ ใบรับรองสำหรับนักพัฒนาซอฟต์แวร์สำหรับองค์กรและ iOS มาตรฐานทั้งหมดที่สร้างขึ้นหลังจาก iOS 8 เปิดตัวจะมีช่อง ID ทีมใหม่ในตำแหน่งที่เหมาะสมเพื่อให้แอปภาษา Swift ทำงานได้
โดยปกติข้อผิดพลาดนี้จะปรากฏในบันทึกคอนโซลของอุปกรณ์โดยมีข้อความคล้ายกับข้อความต่อไปนี้: ไฟล์ที่แมป [.... ] [ปฏิเสธ-mmap] ไม่มีตัวระบุทีมและไม่ใช่ไบนารีของแพลตฟอร์ม: / private / var / mobile / ตู้คอนเทนเนอร์ / Bundle / แอพลิเคชัน / 5D8FB2F7-1083-4564-94B2-0CB7DC75C9D1 / YourAppNameHere.app / กรอบ / libswiftCore.dylib
Dyld Error Message:
Library not loaded: @rpath/libswiftCore.dylib
Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000001, 0x0000000120021088
Triggered by Thread: 0
Referenced from: /private/var/mobile/Containers/Bundle/Application/C3DCD586-2A40-4C7C-AA2B-64EDAE8339E2/TestApp.app/TestApp
Reason: no suitable image found. Did find:
/private/var/mobile/Containers/Bundle/Application/C3DCD586-2A40-4C7C-AA2B-64EDAE8339E2/TestApp.app/Frameworks/libswiftCore.dylib: mmap() error 1 at address=0x1001D8000, size=0x00194000 segment=__TEXT in Segment::map() mapping /private/var/mobile/Containers/Bundle/Application/C3DCD586-2A40-4C7C-AA2B-64EDAE8339E2/TestApp.app/Frameworks/libswiftCore.dylib
Dyld Version: 353.5
จำเป็นต้องมีใบรับรองใหม่เมื่อสร้างที่เก็บถาวรและบรรจุแอปของคุณ แม้ว่าคุณจะมีใบรับรองใหม่เพียงใบเดียวการลาออกจากที่เก็บถาวรของแอปที่รวดเร็วที่มีอยู่จะไม่ได้ผล หากสร้างขึ้นด้วยใบรับรองก่อน iOS 8 คุณจะต้องสร้างที่เก็บถาวรอื่น
สำคัญ: โปรดใช้ความระมัดระวังหากคุณจำเป็นต้องเพิกถอนและตั้งค่าใบรับรอง Enterprise Distribution ใหม่ หากคุณเป็นนักพัฒนาองค์กรภายในองค์กรคุณจะต้องระวังอย่าเพิกถอนใบรับรองการแจกจ่ายที่ใช้ในการลงนามแอปใด ๆ ที่พนักงาน Enterprise ของคุณยังคงใช้เป็นแอปที่ลงนามด้วยใบรับรองการแจกจ่ายขององค์กรนั้น จะหยุดทำงานทันที ข้างต้นใช้กับใบรับรองการแจกจ่ายขององค์กรเท่านั้น ใบรับรองการพัฒนาสามารถเพิกถอนได้อย่างปลอดภัยสำหรับนักพัฒนา iOS ระดับองค์กร / มาตรฐาน
ตามที่พวก AirSign ระบุว่าปัญหาเกิดจากแอตทริบิวต์ OU ที่ขาดหายไปในช่องหัวเรื่องของใบรับรองภายในองค์กร
เรื่อง: UID = 269J2W3P2L, CN = การจัดจำหน่าย iPhone: ชื่อ บริษัท , OU = 269J2W3P2L, O = ชื่อ บริษัท , C = FR
ฉันมีใบรับรองการพัฒนาองค์กรการสร้างใหม่ช่วยแก้ปัญหาได้