dyld: ไม่ได้โหลดไลบรารี: @ rpath / libswiftAVFoundation.dylib


106

ฉันเพิ่งอัปเดตเป็น Xcode 7 และ swift 2 และแก้ไขข้อผิดพลาดที่มาพร้อมกับการเปลี่ยนแปลงเสร็จแล้ว ในที่สุดฉันก็ได้โปรเจ็กต์ที่จะสร้าง แต่หลังจากหน้าจอเปิดตัวฉันได้รับข้อผิดพลาดว่า:

dyld: ไม่ได้โหลดไลบรารี: @ rpath / libswiftAVFoundation.dylib อ้างอิงจาก: / var / mobile / Containers / Bundle / Application / ...
เหตุผล: ไม่พบรูปภาพที่เหมาะสม พบ: /private/var/mobile/Containers/Bundle/Application/.../Frameworks/libswiftAVFoundation.dylib: mmap () errno = 1 การตรวจสอบหน้าแรกของ '/ private / var / mobile / Containers / Bundle / Application / ... / Frameworks / libswiftAVFoundation.dylib '

ฉันเคยเห็นข้อผิดพลาดนี้มาก่อน แต่เกิดจากเฟรมเวิร์กอื่นและไม่สามารถแก้ปัญหาของฉันได้ มีวิธีหลีกเลี่ยงสิ่งนี้โดยการเพิ่มกรอบงานของฉันที่ใดที่หนึ่งหรือไม่?


โอเคหลังจากมีปัญหานี้หลายครั้งนี่เป็นสิ่งเดียวที่ได้ผลสำหรับฉัน ไม่แน่ใจว่าทำไมวิธีแก้ปัญหาอื่น ๆ ถึงไม่ทำ แต่ฉันทำตามคำแนะนำที่นี่: stackoverflow.com/a/32730393/3474814
coracora

6
ฉันมีปัญหานี้หลังจากย้ายไปใช้ mac เครื่องใหม่ สาเหตุเกิดจากใบรับรองระดับกลาง WWDR ของ Apple ที่หายไป
Morten Holmgaard


เพียงแค่ทำความสะอาดโครงการและดำเนินการอีกครั้ง
onmyway133

คำตอบ:


191

พยายามทำความสะอาดสร้างและเรียกใช้โครงการ ทำงานให้ฉัน


2
ไม่ได้ผลสำหรับฉันสำหรับปัญหาที่คล้ายกันกับ Swifty.json :(
Hatchmaster J

4
ทำงานให้ฉัน ฉันประสบปัญหานี้เนื่องจากใบรับรองของฉันถูกเพิกถอน ตอนนี้ก็โอเค.
Adam Studenic

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

1
หลังจากใช้เวลาสองสามชั่วโมงในการลองใช้วิธีแก้ปัญหาต่างๆใน Xcode 10.2 ไม่มีผลใด ๆ แต่เรียกใช้โครงการใน Xcode 10.1 และใช้งานได้ (ฝังไลบรารีมาตรฐาน Swift เป็นใช่เสมอ) ในการค้นหาวิธีแก้ปัญหาของฉันฉันอ่านใครบางคนบอกว่าปัญหาอยู่ใน Swift Compiler บางทีใน 10.2 มีปัญหา
Carlos Parada

54

ใน Xcode 8 อัปเดตการตั้งค่าการสร้าง

ฝังไลบรารีมาตรฐาน Swiftไว้ที่ใช่เสมอ

ทำงานให้ฉัน


ฉันคิดว่านี่เป็นคำตอบที่ถูกต้อง จาก Apple docs "หากคุณกำลังสร้างแอปที่ไม่ได้ใช้ Swift แต่ฝังเนื้อหาไว้เช่นเฟรมเวิร์กที่เป็นเช่นนั้น Xcode จะไม่รวมไลบรารีเหล่านี้ในแอปของคุณ" ข้อมูลอ้างอิง: developer.apple.com/library/content/qa/qa1881/_index .html
David Pettigrew

1
ฉันกำลังพยายามแปลงโครงการ Object-C แบบเก่า (บางส่วน) ให้รวดเร็ว การตั้งค่า "ฝังไลบรารีมาตรฐานที่รวดเร็วเสมอ" เป็นใช่แก้ไขให้ฉันแล้ว
Darrell Root

29

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

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

หวังว่านี่จะช่วยใครบางคนได้


24

เมื่อคำตอบที่ทำเครื่องหมายว่าถูกต้องไม่ได้ผลสำหรับฉันฉันจึงเพิ่มสิ่งต่อไปนี้ใน"การตั้งค่าการสร้าง> การเชื่อมโยง> เส้นทางการค้นหา Runpath" :

@executable_path/Frameworks

7

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

คลิกที่ผลิตภัณฑ์ -> ทำความสะอาด (หรือCMD- Shift- K)

และโครงการต่างๆจะทำงานได้ตามปกติ


6

คำถามที่คล้ายกันด้านล่างคำตอบอาจช่วยได้ dyld: ไม่ได้โหลดไลบรารี: @ rpath / libswiftCore.dylib

สำหรับฉันวิธีแก้ปัญหาเดียวที่ได้ผลคือตามที่ @morten-holmgaard แนะนำในความคิดเห็นของเขา

ฉันได้ลองเปลี่ยนแฟล็ก "Embedded Content ประกอบด้วย Swift Code" เป็น true ในการตั้งค่าบิลด์ แต่ก็ไม่มีผล


2

การเปลี่ยนการตั้งค่าการสร้าง -> การตั้งค่าสถานะ "เนื้อหาที่ฝังประกอบด้วยรหัส Swift" เป็นจริง / ใช่ได้ผลสำหรับฉัน


2

สำหรับกรอบงานที่ฉันใช้บน OSX (MailCore2) ฉันต้องกำหนดเป้าหมายของฉัน

"Build Settings> Linking> Runpath Search Paths" ไปที่ @loader_path

ฉันพบวิธีแก้ปัญหาที่นี่:

http://www.dribin.org/dave/blog/archives/2009/11/15/rpath/


บทความนี้มีประโยชน์ขอบคุณ! ไม่มีวิธีแก้ปัญหาอื่น ๆ ที่นี่สำหรับฉัน แต่ในที่สุดฉันก็สามารถทำให้มันใช้งานได้โดยเพิ่ม@rpathการRunpath Search Pathsตั้งค่าตัวเชื่อมโยง
caughtinflux

2

ฉันพบปัญหานี้กับ Xcode 9 นี่เป็นเคล็ดลับสำหรับฉัน:

Project > Build Settings > Swift Compiler - Search Path: Setting "Import Paths"ถึง$(PROJECT_DIR)(เรียกซ้ำ)


1
เจอสิ่งนี้ใน xcode 10 และมันก็ใช้ได้เช่นกัน! เยี่ยมมาก!
petrosmm

1

มีสองวิธีสำหรับสิ่งนี้:

แนวทางที่ 1:

  1. Quit Xcode( cmd+ Q)
  2. เปิดและClean Project ( cmd+ shift+ k)
  3. ตอนนี้เรียกใช้โครงการซึ่งควรทำงานได้อย่างถูกต้อง

แนวทางที่ 2:

บันทึกของคอนโซลระบุว่าตัวแก้ไขลิงก์ไดนามิก (dyld) ไม่สามารถโหลดไลบรารี ในการแก้ไขปัญหานี้ให้ใช้ขั้นตอนด้านล่าง:

  1. เลือกProject-> Build settings->
  2. ไปที่Build optionsแท็บ -> เลือก ' Always Embed Swift Standard Libraries’ถึง' Yes'
  3. ตอนนี้เรียกใช้โครงการซึ่งควรทำงานได้อย่างถูกต้อง

ภาพหน้าจอพร้อมขั้นตอน


0

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

ลองดูในบันทึกสำหรับข้อความปฏิเสธ mmapซึ่งอาจช่วยคุณได้มากขึ้น

ฉันพบปัญหานี้กับแอปพลิเคชัน Xamarin สำหรับ Apple Watch แอปพลิเคชันหลักและเฟรมเวิร์ก Mono ได้รับการลงนามและใช้งานได้ แต่ส่วนขยาย Watchkit ไม่โหลดเนื่องจากข้อผิดพลาด dyld

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