dyld: ไลบรารีไม่ถูกโหลด: @ rpath / libswift_stdlib_core.dylib


205

ฉันได้รับข้อผิดพลาดนี้หลังจากเพิ่มคลาส Swift ในโปรเจ็กต์ Xcode เก่า

dyld: Library not loaded: @rpath/libswift_stdlib_core.dylib

ฉันจะทำให้โครงการทำงานอีกครั้งได้อย่างไร


คุณอาจต้องการดูstackoverflow.com/questions/38364320 ซึ่งแสดงวิธีการแก้ไขข้อบกพร่องนี้โดยใช้otool
Jim Hayes

2017 - เหลือเชื่อเพียงรีสตาร์ท Xcode เพื่อแก้ไขปัญหาที่เลวร้ายนี้สำหรับฉัน
Fattie

คำตอบ:


152

สำหรับฉันไม่มีวิธีแก้ไขปัญหาก่อนหน้านี้ทำงาน เราค้นพบว่ามีการตั้งค่าสถานะALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES(ในรุ่นก่อนหน้า: "เนื้อหาฝังตัวมีรหัส Swift") ในการตั้งค่าการสร้างที่ต้องตั้งค่าเป็นใช่ มันไม่ใช่โดยค่าเริ่มต้น!


การแก้ไขนี้สำหรับฉันเช่นกันฉันเปลี่ยนการตั้งค่าสำหรับส่วนขยายเป็นจริง โครงการเป็น objc แต่ส่วนต่อขยายนั้นรวดเร็วและไม่สามารถใช้งานได้ตั้งแต่ต้น
Cristi Băluță

นี่คือความละเอียดของฉันเช่นกัน ฉันมีโครงการแอพ iOS ที่มีอยู่ (ObjC) ที่ฉันเพิ่มส่วนขยายวันนี้ (เป้าหมายใหม่ในโครงการส่วนขยายเป็นปลั๊กอินสำหรับแอพหลัก) ฉันต้องเข้าไปที่การตั้งค่าเป้าหมายของแอพและเปิดใช้งานการตั้งค่าการสร้างและวิโอลา ... ปัญหาก็หายไป สมเหตุสมผล แต่เมื่อพิจารณาว่า Xcode 6.0 มีการกำหนดค่าอื่น ๆ โดยอัตโนมัติให้กับคุณมากเพียงใดมันเป็นความอัปยศที่ตัวเลือกที่สำคัญนี้ถูกมองข้าม
hsoi

สิ่งนี้แก้ไขปัญหาของฉัน - เรามีโครงการเก่าที่มี ObjC มากมายซึ่งเราเพิ่งเริ่มเพิ่ม Swift ไป แม้ว่า IPA จะถูกสร้างขึ้นและรวมถึงห้องสมุด Swift แต่ก็ไม่ได้ทำงานบนอุปกรณ์ iOS7 บางตัวจนกว่าจะมีการตรวจสอบการตั้งค่าการสร้างและเราได้ทำ IPA ใหม่ สิ่งนี้ใช้ได้กับอุปกรณ์ที่มีปัญหาทั้งหมดของเรา
Kendall Helmstetter Gelner

1
ไม่มีอะไรทำงานนอกจากนี้ คุณเป็นพ่อมดประหลาดของฉัน!
Ricky Hartmann

2
เนื้อหาฝังตัวมีการใช้รหัส Swift ที่เลิกใช้ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES
nivritgupta

91

ข้อผิดพลาดนี้สามารถเกิดขึ้นได้หากมีสิ่งผิดปกติเกิดขึ้นระหว่างการแปลงโครงการ Objective-C เพื่อเริ่มใช้ Swift ปัญหาคือการตั้งค่าตัวสร้าง Linker ไม่เคยได้รับการกำหนดค่าอย่างถูกต้องดังนั้นคุณต้องทำด้วยตนเอง ค้นหาการตั้งค่าเส้นทางการค้นหา Runpath และตั้งค่าเป็น:

$(inherited) @executable_path/Frameworks

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

แก้ไข:ฉันควรเพิ่มว่ามีน้ำท่วมล่าสุดของข้อผิดพลาดที่เกิดจากสิ่งอื่นทั้งหมด - Apple ทำการเปลี่ยนแปลงใน Swift ตัวเองเริ่มในบางที Xcode 6.1 หรือ 6.1.1 ทางออกเดียวที่ดูเหมือนว่าจะออกจาก Xcode ทำลายใบรับรองของคุณใน Keychain Access ไปที่ศูนย์สมาชิกและลบใบรับรองและโปรไฟล์ทั้งหมด (ยกเว้นโปรไฟล์สำหรับแอพใน Store - คุณไม่สามารถลบได้) จากนั้นเริ่ม ขั้นตอนการร้องขอใบรับรองทั้งหมดตั้งแต่เริ่มต้น


3
ทำงานให้ฉัน อัปเกรดเป็นเวอร์ชัน Xcode ล่าสุดแล้วและพบว่าเส้นทางการตั้งค่านี้ในโครงการของฉันกำลังนำไปสู่เวอร์ชันที่เก่ากว่า
ObjectiveTC

1
ทำงาน !! คุณบันทึกวันของฉัน! ฉันใช้การควบคุม GitHub อย่างรวดเร็วใน C วัตถุประสงค์ด้วย xcode 6 GM ขอบคุณ
imthegiga

1
สิ่งนี้ใช้ได้สำหรับฉันเช่นกัน การรีสตาร์ท Xcode ไม่ได้
Dan Loewenherz

1
ทำงานให้ฉัน Btw ฉันได้รับ "สาเหตุ: ไม่พบภาพ" ในตอนท้ายของข้อความแสดงข้อผิดพลาด
ปีเตอร์โจว

2
ขอบคุณพระเจ้า! นั่นมัน!
BoilingLime

79

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


20
ฉันกำลังพยายามใช้ swift ในโครงการ iOS ใหม่และฉันได้รับข้อผิดพลาดนั้นเมื่อพยายามเรียกใช้บนอุปกรณ์ iOS 8 แต่ไม่ใช่ในตัวจำลอง การรีสตาร์ท Xcode แล็ปท็อปหรือโทรศัพท์ของฉันไม่สามารถแก้ไขปัญหาได้ มีวิธีแก้ปัญหาอื่น ๆ อีกไหม?
David Skrundz

2
น่าเสียดายที่นี่ไม่ได้ผลสำหรับฉันภายใต้เบต้า 4 พยายามเปิดแอป Mac ที่ใช้เฟรมเวิร์กที่ใช้ Swift
Craig Otis

โปรดใส่ลิงค์ @Developer ในคำตอบของคุณเพราะช่วยได้จริงๆ
Lachezar Todorov

ลองทำแบบนี้ดูสิ แต่ทำความสะอาดเหมือนกัน
Scott McKenzie

55

ฉันค้นหาปัญหานี้นานมาก มีหลายสาเหตุที่ทำให้เกิดปัญหานี้

หากคุณกำลังเผชิญเมื่อคุณและรหัส / ไลบรารี Swift ในโครงการ Objectice C คุณควรลองใช้โซลูชัน 1-2-3

หากคุณกำลังเผชิญกับปัญหานี้ด้วย Swift project Solution 4 ใหม่จะเหมาะกับคุณที่สุด

โซลูชันที่ 1:

รีสตาร์ท Xcode จากนั้นคอมพิวเตอร์และ iPhone

โซลูชันที่ 2:

ไปที่การตั้งค่าการสร้างโครงการและตั้งค่าสถานะAlways Embed Swift Standard Libraries(ก่อนหน้านี้Embedded Content Contains Swift Code) เป็นYES

โซลูชันที่ 3:

ไปที่โครงการสร้างการตั้งค่าและเพิ่ม@executable_path/FrameworksไปยังRunpath Search Pathsตัวเลือก

โซลูชันที่ 4:

หากไม่ได้ผลก็ควรดำเนินการ Apple ดูเหมือนจะเป็นใบรับรองปะนินจาที่ได้กล่าวไว้ในโพสต์ของ AirSign

ที่ใบรับรอง InHouse

Subject: UID=269J2W3P2L, CN=iPhone Distribution: Company Name, O=Company Name, C=FR

พวกเขาเพิ่มฟิลด์ใหม่ชื่อOU

Subject: UID=269J2W3P2L, CN=iPhone Distribution: Company Name, OU=269J2W3P2L, O=Company Name, C=FR

ดังนั้นคุณควรสร้างใบรับรองและการจัดเตรียมใหม่


1
โฆษณา 2: ตอนนี้เรียกว่า "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES" (ดูความคิดเห็นด้านล่างคำตอบที่ยอมรับ)
Raphael

1
ฉันต้องการเพิ่ม ... โครงการ macOS ต้องการ@executable_path/../Frameworksที่โครงการ iOS ต้องการโดยไม่ต้อง..อยู่ตรงกลาง การเปลี่ยนค่านี้มีความสำคัญหากคุณแปลงเป้าหมายจากระบบปฏิบัติการหนึ่งเป็นระบบอื่น
Matt Gallagher

41

ในกรณีของฉันฉันกำลังพยายามนำเข้ากรอบงานที่กำหนดเองและได้รับข้อผิดพลาดที่คล้ายกัน ปรากฎว่าฉันต้องนำเข้าเฟรมเวิร์กใน Embedded Binaries แทนที่จะเข้าไปใน Linked Frameworks และ Libraries

ไบนารีฝังตัวอยู่ภายใต้การตั้งค่าโครงการ -> -> ทั่วไป


บันทึกวันของฉัน! ! น่ากลัว
Klaas

1
ฉันเห็นข้อผิดพลาดนี้เมื่อพยายามใช้กรอบการคอมไพล์ที่เขียนด้วยความรวดเร็ว (แทนที่จะฝังไฟล์ต้นฉบับเป็นเป้าหมายแยกต่างหาก) วิธีแก้ปัญหาข้างต้นก็ใช้ได้สำหรับฉันเช่นกัน
alex da franca

ขอบคุณตันบันทึกทั้งวันของฉัน
Badrinath

1
ทำงานให้ฉันหลังจากพยายามเชื่อมโยงกรอบที่เขียนบางส่วนอย่างรวดเร็วในโครงการเก่าซึ่งมีวัตถุประสงค์ทั้งหมด แม้ว่าการตั้งค่าจะอยู่ภายใต้การตั้งค่าการสร้าง ข้อมูลเพิ่มเติมที่นี่: stackoverflow.com/questions/24163870/…
Pellet

นี่คือภายใต้การตั้งค่าเป้าหมายไม่ใช่โครงการเพียงเพื่อให้แน่ใจ
Legoless

16

สำหรับนักพัฒนาที่มีปัญหานี้ด้วยโครงสร้างการกระจาย Adhoc / Enterprise

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

ที่มา: https://devforums.apple.com/message/1022908#1022908


ในขณะที่ลิงก์นี้อาจตอบคำถาม แต่ลิงค์แตก ดังนั้นขอแนะนำให้คุณใส่ส่วนสำคัญ ๆ ไว้ในลิงค์ ไม่แนะนำคำตอบสำหรับลิงค์เท่านั้น
Pokechu22

ทำงานสำหรับแอปองค์กรของฉัน ขอบคุณ!
sylvanaar

15

โซลูชันที่ 5:

ในกรณีของฉันการแก้ปัญหาทั้งหมดที่กล่าวถึงในคำตอบของ accfewsนั้นมีประโยชน์มาก แต่ก็ไม่ได้ผล ฉันแก้ไขปัญหาด้วยการเพิ่มห้องสมุด swift ของฉันในส่วน "Embedded Binaries" ในส่วน "General" ของเป้าหมายโครงการของฉัน อาจเป็นเพราะความจริงที่ว่าฉันได้รวมกรอบงานที่รวดเร็วของฉันในพื้นที่ทำงานของฉัน? สิ่งที่มันรวบรวมตอนนี้! เตรียมพร้อมรวดเร็วฉันอยู่ที่นี่แล้ว!


ตกลงนั่นดูเหมือนว่าจะทำงาน ฉันแค่พยายามเขียนห้องสมุดรหัส swift สำหรับโครงการที่รวดเร็ว ยังไงก็เถอะฉันก็ยังสงสัยว่ามันถูกต้องไหม อย่างไรก็ตามฉันตื่นเต้นกับการทำงาน
kpierce8

ฉันรวมกรอบงานของฉันไว้ในส่วน "คัดลอกกรอบงาน" ของแท็บ Build Phases - แต่ไม่สามารถเลือกหนึ่งกรอบงานได้ที่นี่ "ทั่วไป" อนุญาตให้เลือกเฟรมเวิร์กอื่นนี้และเพิ่มลงใน Build Phases และแอปสร้างและรัน อย่างผิดปกติฉันยังคงสามารถเรียกใช้แอปบนเครื่องจำลองได้
djbp

ขอบคุณ Christophe เช่นเดียวกับคุณลองใช้วิธีแก้ปัญหาทั้งหมดและเห็นได้ชัดว่าไม่ใช่เรื่องง่ายที่จะเข้าใจว่าห้องสมุดที่รวดเร็วไม่สามารถลากไปยังโครงการอื่นได้อย่างง่ายดาย คุณต้องใส่ไลบรารีลงในส่วนที่ฝังไว้อย่างชัดเจน (หรือที่รู้จักในชื่อโมดูลที่รวดเร็วกว่าฉันสงสัยว่าอาจมีสิ่งอื่น ๆ ที่ฝังอยู่) แม้ว่า Xcode จะสามารถตรวจจับมันได้โดยอัตโนมัติและทำงานให้เรา ... แต่นั่นไม่ใช่หน้าที่ของ XCode อันเป็นที่รักของเรา;) แน่นอนว่าที่นี่จะเสียเวลาของเรา ...
Mr Bonjour

นอกจากนี้หากห้องสมุดอยู่ในรายการอยู่แล้วให้ตรวจสอบว่ามีการทำเครื่องหมายเป็น "ฝัง & ลงชื่อ" วิธีนี้ช่วยแก้ไขปัญหาของฉัน
SquareBox

10

การรีสตาร์ท Xcode อย่างง่ายช่วยแก้ไขปัญหาให้ฉันได้


ฉันจะตบแฟนแอปเปิ้ลคนต่อไปที่สนุกกับการรีเซ็ต Windows
Josh

5

สำหรับฉันปัญหานี้เกิดจากข้อเท็จจริงที่ว่าผู้ให้บริการออกใบรับรองความสัมพันธ์สำหรับนักพัฒนา Apple ทั่วโลกของฉันไม่ถูกต้อง

ดาวน์โหลดได้จากที่นี่: https://developer.apple.com/certificationauthority/AppleWWDRCA.cer

ลากและวางลงใน Keychain Access ทำความสะอาดโครงการและเรียกใช้


สิ่งนี้เริ่มเกิดขึ้นหลังจากเราเพิ่มการให้สิทธิ์ CloudKit ก่อนหน้านั้นฉันคิดว่ามันไม่ได้สนใจว่าใบรับรอง WWDR นั้นไม่ถูกต้อง
CommaToast

3

ฉันมีโครงการ Obj-C ซึ่งฉันเริ่มเพิ่มไฟล์ swift source ต่อไปนี้แก้ไขปัญหาสำหรับฉัน:

  1. การเชื่อมโยง: RUNPATH SEARCH PATHS = $(inherited) @executable_path/Frameworks
  2. Swift Compiler - การสร้างรหัส: EMBEDDED CONTENT CONTAINS SWIFT = YES

ฉันเพิ่งสร้างโครงการใหม่จากแม่แบบ Xcode 6.3 และเปรียบเทียบการตั้งค่าโครงการกับโครงการดั้งเดิมของฉัน


3

ลองกดปุ่ม Alt ค้างไว้แล้วไปที่ Product -> Clean Build Folder ...

หวังว่ามันจะช่วยใครซักคน ..


สิ่งนี้ไม่ได้ให้คำตอบสำหรับคำถาม เมื่อคุณมีเพียงพอชื่อเสียงคุณจะสามารถที่จะแสดงความคิดเห็นในโพสต์ใด ๆ ; แทนที่จะให้คำตอบที่ไม่จำเป็นต้องชี้แจงจากผู้ถาม - จากการรีวิว
Rakete1111

เกิดขึ้นหลังจากพยายามเพิ่มคลาสใหม่ในโครงการเก่า ไม่มีข้อมูลว่าโครงการเก่าเป็นอย่างไร ดังนั้นการล้างโปรเจ็กต์และบังคับการรีเฟรชแคชจึงสมเหตุสมผล โครงการเก่าก็หมายความว่ามีโอกาสดีที่ใบรับรองจะเปลี่ยนไปในขณะเดียวกันเนื่องจาก Apple Production และ Certificate Developer หมดอายุทุกปี อ่านเกี่ยวกับสาเหตุหลักของข้อผิดพลาดตาม Apple Q&A ทางเทคนิคที่ developer.apple.com/library/ios/qa/qa1886/_index.html สิ่งเดียวกันเกิดขึ้นกับฉันและโฟลเดอร์ Clean Build ทำให้โครงการทำงานได้อีกครั้ง ให้คนลอง ..
stakahop

มันเกิดขึ้นหลังจากโหลดใบรับรอง iO ของฉันอีกครั้ง Clean (เมนูผลิตภัณฑ์) ที่เรียบง่ายและทุกอย่างใช้งานได้ดี ;-)
Sébastien Remy

ทำงานได้อย่างสมบูรณ์แบบ ขอบคุณ.
iSofia

3

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

  1. เพิ่มเนื้อหาที่ฝังตัวมีรหัส Swiftให้กับโครงการ คุณต้องตั้งค่าสถานะนี้หากแอปของคุณมีรหัส Swift
  2. โครงการทำความสะอาด นอกเหนือจากโปรเจ็กต์> ล้างคุณยังสามารถลบDerivedDataและBuildไดเร็กทอรี ดูภายใต้การตั้งค่าDerivedDataสำหรับสถานที่ตั้งของ Buildควรอยู่ในโฟลเดอร์โครงการของคุณ
  3. ตรวจสอบให้แน่ใจว่าเส้นทางการค้นหา Runpathมี@executable_path/Frameworksมี
  4. ตรวจสอบให้แน่ใจว่าใบรับรองของคุณมี Apple Team ID ของคุณในฟิลด์ OU (หน่วยองค์กร) Apple จะเพิ่มสิ่งนี้ให้คุณเพียงเพิกถอนใบรับรองการกระจายที่มีอยู่ของคุณและสร้างใหม่ดาวน์โหลดดาวน์โหลดติดตั้งบน KeyChain สร้างโปรไฟล์การจัดสรรทั้งหมดใหม่ สร้างใหม่
  5. รีสตาร์ท Xcode หากทุกอย่างดีโดยทั่วไป แต่ Xcode ยังไม่ได้ไปที่นั่น

นั่นคือสิ่งที่ง่าย หากคุณกำลังสร้างบรรทัดคำสั่งของคุณเองคุณอาจกำลังสร้าง.ipaไฟล์ของคุณเองเพื่ออัปโหลด ในกรณีดังกล่าวคุณต้องมั่นใจในสิ่งต่อไปนี้:

  1. ตรวจสอบให้แน่ใจว่าเวอร์ชันของไฟล์ Swift SwiftSupport/iphoneosนั้นเหมือนกันกับเวอร์ชั่นในContents/YourApp.app/Frameworks เนื่องจาก Swift ยังไม่สามารถใช้งานร่วมกันระหว่างไบนารีได้คุณต้องแน่ใจว่าเวอร์ชันเหล่านี้เป็นไฟล์ที่คุณสร้างแอพด้วย /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneosคุณสามารถค้นหาห้องสมุดเหล่านี้ภายใต้
  2. เข้าสู่ระบบห้องสมุดและกรอบแรก คุณต้องไปcodesignที่ไลบรารีและไฟล์เฟรมเวิร์ก (ใต้Frameworksใน.appโฟลเดอร์) ก่อนแล้วจึงเซ็นชื่อแผนผัง.appต้นไม้ทั้งหมด .appต้นไม้ต้องลงนามกับentitlements.plistแต่ไม่กรอบ

หวังว่าเมื่อ Swift 3.0 ออกมาและเราไม่จำเป็นต้องรวม Swift เข้ากับแอพของเราปัญหาทั้งหมดนี้จะหายไป


2

ฉันมีปัญหานี้โดยใช้ mobileprovision Ad Hoc (หรือองค์กร) พร้อมใบรับรองการผลิต การสลับไปใช้ใบรับรองการพัฒนาและการแก้ไขมือถือแก้ปัญหาได้


4
สิ่งนี้อาจช่วยให้คุณเรียกใช้แอปที่กำลังพัฒนา แต่คุณจะปรับใช้อย่างไรหากโปรไฟล์เฉพาะกิจหรือองค์กรไม่ทำงาน
Kristopher Johnson

2

โปรเจคของฉันเป็นโปรเจ็กต์ Swift พร้อมคลาส Objective-C บางคลาส ฉันมีปัญหาเดียวกันเมื่อลงชื่อด้วยใบรับรอง inHouse (enterprise) เก่า

ขั้นตอนต่อไปนี้แก้ไขสิ่งนี้สำหรับฉัน

  1. สร้างและใช้ใบรับรองใหม่และการให้บริการมือถือ
    ( บล็อกของอ้างอิงAIRSIGN )
  2. ตั้งค่าการRunpath Search Pathsสร้างเป็น: $(inherited) @executable_path/Frameworks.
    ( คำตอบการอ้างอิงของ matt )

2

โซลูชันที่ 6:

ในกรณีของเราเพิกถอนใบรับรองการจัดจำหน่ายขององค์กร การสร้างใบรับรองใหม่และการปรับปรุงโปรไฟล์การจัดสรรจะแก้ไขปัญหาได้

(ดูเหมือนจะมีสาเหตุที่แตกต่างกันมากมายสำหรับข้อผิดพลาดนี้หวังว่าจะช่วยคนได้)


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

2
นี่เป็นเช่นเดียวกันกับโซลูชัน 4
accfews

2

ฉันลองคำตอบทั้งหมดที่ให้ไว้ข้างต้นไม่มีอะไรทำงาน

ในที่สุดก็ทำงานหลังจากอัปเดตเป็นโยเซมิตี


2

ฉันประสบปัญหาเดียวกันการตั้งค่ารหัสประจำตัวที่ถูกต้องสามารถแก้ไขปัญหาได้ (Build settings-> Identity Signing Code)

ตามคำถามทางเทคนิคของ Apple "ใบรับรององค์กรสำหรับนักพัฒนา iOS และมาตรฐานทั้งหมดที่สร้างขึ้นหลังจากที่วางจำหน่าย iOS 8 แล้วจะมีฟิลด์ ID ทีมใหม่ในสถานที่ที่เหมาะสมเพื่อให้แอป Swift ภาษาสามารถทำงานได้"


2

หากคุณเพิ่มสามเฟรมเวิร์กผ่าน Embedded Binaries เฟรมเวิร์กเหล่านี้จะถูกเพิ่มไปยัง Linked Frameworks และ Libraries ด้วย ลบสามรายการในLinked Frameworks และ Librariesจะช่วยแก้ปัญหา

วิธีการที่มหัศจรรย์เช่นเปิด Xcode ใหม่และรีสตาร์ท Mac ไม่ทำงานกับฉัน


ขอบคุณสำหรับการปรับปรุงรูปแบบ มันดูดีขึ้น "Linked Frameworks and Libraries" เป็นส่วนเดียวไม่ใช่สองส่วน ฉันเปลี่ยน "และ" เป็นตัวหนา @ Bartłomiej
Arbipher

来来 shua fen zi shu bu ding
icemelon

2

การเพิ่ม Framework เป็น "Embedded Binary" แทนที่จะเป็นเพียง "Linked Frameworks and Libraries" - แก้ไขปัญหาของฉัน

ฉันยังตั้งค่าเนื้อหาที่ฝังด้วยการตั้งค่าสถานะ Swift Code เป็น YES


1

อัปเกรดเป็นเวอร์ชันล่าสุดของ OS X (Yosemite)

หลังจากทดลองผิดพลาดหลายชั่วโมงฉันก็มาถึงการแก้ไขปัญหานี้ - หากสิ่งนี้ใช้กับกรณีของคุณแน่นอน

ฉันมีปัญหาเดียวกันจนกระทั่งฉันอัพเกรด Mac OS X จาก Mavericks เป็น Yosemite - แก้ไขปัญหาของฉันได้ด้วยหวังว่าจะแก้ไขปัญหาของคุณเช่นกัน


1

ฉันลองวิธีแก้ไขปัญหาทั้งหมดที่พบในเว็บรวมถึง Apple และใบรับรองใหม่ ปราศจากความสำเร็จ.

วิธีเดียวที่ฉันสามารถเรียกใช้ xcode หลังจากพยายาม 6 เดือนคือการสร้างบัญชีใหม่บน macbook ของฉัน


1

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


สิ่งนี้ใช้ได้กับฉันใน XCode 7.2.1 ฉันใช้ + ในพาเนล Build Phases เลือก New Copy Files Phase จากนั้นลากเฟรมเวิร์กจากแผนผังพื้นที่ทำงานลงในส่วน Copy Files ในที่สุดฉันก็เลือกปลายทาง: กรอบ หลังจากสร้างบิลด์แอปพลิเคชันของฉันก็เริ่มทำงานตามที่คาดไว้
Rob Smallshire

1

และถ้าทั้งหมดข้างต้นไม่ได้ช่วยให้คุณและคุณจะผิดหวังจริง ๆ ... ลองใช้เคล็ดลับที่ดีที่สุดของทั้งหมด: Cleanและเพื่อให้แน่ใจClean Build Folderด้วย :) หวังว่าจะช่วยใครซักคน!


1

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

กลายเป็นว่าฉันจะตั้ง Xcode ให้เป็นแบบ 6.3 ได้ การเปลี่ยนกลับเป็น 3.2- เข้ากันได้แก้ไขได้:


ขอบคุณ! ฉันลองทุกอย่างอื่น ฉันเปลี่ยนมันกลับเป็น 3.2 ทำความสะอาดโครงการรีสตาร์ท Xcode และทำงานได้
gabriellanata

1

ผมเคยมีปัญหานี้เช่นกันเพียง libswiftXCTest.dylibแต่มันไม่ได้ตำแหน่ง

การแก้ปัญหาคือการเพิ่มเพื่อเป้าหมายการทดสอบในXCTest.framework Build Phases/Link Binary with Libraryฉันได้รับข้อผิดพลาดนี้แม้ว่าฉันจะพยายามสร้างเป้าหมายหลัก


0

สิ่งนี้ปรากฏขึ้นเมื่อฉันเพิ่มเป้าหมายส่วนขยายวันนี้ใหม่ด้วยภาษา Swift ในโครงการเก่า แก้ไขได้ง่ายด้วยการอัพเดตโครงการเป็นการตั้งค่าที่แนะนำ Xcode 6.0.1


0

ฉันได้รับปัญหาเดียวกันโดยใช้ Mavericks, Xcode 6.1.1, การทดสอบ iPhone5 กับ iOS 8.1.1 ฉันลองวิธีแก้ปัญหาที่เป็นไปได้ทั้งหมดรวมถึงใบรับรองใหม่และโปรไฟล์การจัดสรร แต่ไม่มีอะไรช่วย ฉันไม่ได้เปลี่ยนแปลงไปEmbedded Content Contains Swift CodeและRunpath Search Pathsทั้งในระดับโครงการและระดับเป้าหมาย

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


0

ปัญหาเดียวกันที่นี่สำหรับฉันมันคือ Crashlytics / ผ้า / เบต้า / Twitter / อะไรก็ตามที่พวกเขาเรียกตัวเองว่าอัปโหลดไบนารีที่ขาดกรอบงานฝังตัว ถ้าฉันสร้างไฟล์เก็บถาวรแล้วส่งออกการสร้างองค์กรในแบบมาตรฐานพวกเขาทำงานได้ดี


0

สภาพแวดล้อมของฉัน: Cocos2d 2.0, Box2d, Objective C

นอกจากทำตามคำตอบอื่น ๆ ข้างต้นแล้วในที่สุดฉันก็ไปที่แท็บทั่วไปและทำให้เป็นตัวเลือก WatchKit

เป้าหมาย: ทั่วไป: กรอบงานและไลบรารีที่เชื่อมโยง: WatchKit.framework: ไม่บังคับ


0

หลังจากหลายเดือนหลายเดือนพยายามทำทุกอย่างที่นี่ ... นิยามของความวิกลจริต ... การเริ่มต้น Xcode ภายใต้ผู้ใช้ Mac ใหม่ได้แก้ไขให้ฉัน

ฉันลบ ~ / Library / Developer / * และติดตั้ง Xcode อีกครั้งดังนั้นจึงไม่มีข้อมูลที่จะจัดรูปแบบเพื่อให้ทำงานได้

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