ไม่ได้โหลด OS X Framework Library: 'ไม่พบรูปภาพ'


279

ฉันกำลังพยายามสร้างพื้นฐาน OS X Framework ตอนนี้ฉันเพิ่งสร้างกรอบการทดสอบTestMacFramework.frameworkแล้วและฉันกำลังพยายามนำเข้าสู่โครงการ OS X Application ใหม่ล่าสุด

ฉันได้สร้างไฟล์. framework และนำเข้าไปในโครงการใหม่กรอบจะปรากฏขึ้นเพื่อเชื่อมโยงได้และฉันสามารถอ้างอิงไฟล์ส่วนหัวสาธารณะที่ฉันเพิ่มไปยังส่วนเฟสสร้างกรอบงาน

อย่างไรก็ตามเมื่อฉันพยายามเรียกใช้ Application Container ฉันได้รับข้อผิดพลาดดังต่อไปนี้:

dyld: Library not loaded: /Library/Frameworks/TestMacFramework.framework/Versions/A/TestMacFramework
  Referenced from: /Users/samharman/Library/Developer/Xcode/DerivedData/TestMacContainer-dzabuelobzfknafuhmgooqhqrgzl/Build/Products/Debug/TestMacContainer.app/Contents/MacOS/TestMacContainer
  Reason: image not found

หลังจาก googling นิดหน่อยฉันก็รู้ว่าฉันจำเป็นต้องเพิ่มCopy Filesส่วนลงในเฟสสร้างแอปพลิเคชันคอนเทนเนอร์ของฉันดังนั้นฉันจึงได้ทำสิ่งนี้และตั้งค่าอย่างนั้น ...

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

อย่างไรก็ตามฉันยังคงได้รับข้อผิดพลาด runtime เห็นได้ชัดว่าฉันทำอะไรผิดที่นี่ แต่ทรัพยากรห้องสมุดนักพัฒนา Apple สำหรับการอ้างอิงนี้ Xcode 2 ดังนั้นจึงไม่มีประโยชน์มาก!

ฉันพลาดอะไรไป

UPDATE:

ฉันสามารถเห็นได้ในบันทึกการสร้างที่ฉันTestMacFramework.frameworkกำลังคัดลอกไปยังไดเรกทอรี. app เนื้อหา / กรอบ แต่มันไม่ได้ถูกติดตั้งไปยังไดเรกทอรี Library / Frameworks ใน HD

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

อัปเดต 2:

ลิงก์บิวด์อย่างถูกต้องหากฉันคัดลอกTestMacFramework.frameworkลงในLibrary/Frameworksไดเรกทอรีด้วยตนเอง


1
สิ่งที่ไม่otool -Lบอกคุณเกี่ยวกับการที่แอปคาดว่าจะพบกรอบ?
trojanfoe

โอเคฉันคิดวิธีการเรียกใช้ ... นี่คือผลลัพธ์ที่ฉันได้รับสำหรับห้องสมุดของฉัน (ฉันได้ยกเว้นการอ้างอิงอื่น ๆ เช่นมูลนิธิ ฯลฯ )/Library/Frameworks/TestMacFramework.framework/Versions/A/TestMacFramework (compatibility version 1.0.0, current version 1.0.0)
Sammio2

การแก้ไขของฉันถูกฝังเป็นไบนารีห้องสมุดที่ฉันต้องการ (Alamofire) เป็นที่ยอมรับหรือไม่?
Cmag

2
มันค่อนข้างสับสนว่าคำถามนี้ถูกแท็กอย่างชัดเจนว่าเป็นสำหรับ OS X และคำตอบทั้งหมดรวมถึงคำถามที่ได้รับการยอมรับนั้นมีไว้สำหรับ iOS ฉันมีข้อผิดพลาดเดียวกันและไม่สามารถใช้คำตอบใด ๆ
RenniePet

@RenniePet เนื่องจาก Xcode 7.3 กระบวนการเหมือนกันสำหรับ iOS และเฟรมเวิร์ก macOS คำตอบที่ยอมรับเป็นวิธีที่ถูกต้องในการทำ หากคุณยังมีปัญหาอยู่อาจเป็นปัญหาที่ไม่เกี่ยวข้องใช่ไหม
Sammio2

คำตอบ:


553

[Xcode 11+]

สิ่งเดียวที่ต้องทำคือการเพิ่มเฟรมเวิร์กลงในGeneral->Frameworks, Libraries And Embedded Contentส่วนในGeneralแท็บเป้าหมายแอปของคุณ

ตรวจสอบให้แน่ใจว่าคุณเลือกตัวเลือก 'ฝังและลงชื่อเข้าใช้'

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

[Xcode v6 -> Xcode v10]

สิ่งเดียวที่ต้องทำคือการเพิ่มเฟรมเวิร์กลงในEmbedded binariesส่วนในGeneralแท็บเป้าหมายแอปของคุณ

สกรีนช็อตจาก Xcode


32
นี่เป็นขั้นตอนเดียวที่จำเป็นสำหรับ iOS
nikolovski

7
ขอบคุณ! แก้ไขมันสำหรับฉันบน iOS
user1244109

6
ขอบคุณ! มันช่วยฉันสำหรับ iOS
Alexander Khitev

4
ฉันใช้คลาสจากเฟรมเวิร์กที่อิมพอร์ตใน Storyboard และมีข้อผิดพลาดนี้ เพียงแค่ต้องการเพิ่มสิ่งนั้นนอกเหนือจากการตั้งค่า Custom CLASS ใน Storyboard คุณต้องตั้งค่าฟิลด์ MODULE
Ruben Martinez Jr.

8
@ZevsVU ฉันไม่มีEmbedded binariesส่วนในโครงการ macOS ของฉัน เกิดอะไรขึ้น
fnc12

56

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

อาคารกรอบ

  1. เพิ่มเป้าหมายเพื่อสร้าง Cocoa Framework
  2. ภายใน 'การตั้งค่าการสร้าง' นั้นจะกำหนดค่า 'ไดเรกทอรีการติดตั้ง' เป็น '@executable_path /../ กรอบงาน'
  3. สร้างไลบรารี่และเข้าถึง. .Framework จากไฟล์เก็บถาวรหรือไดเรกทอรีผลิตภัณฑ์

รวมถึง Framework

  1. ลากไฟล์. formwork ที่สร้างขึ้นไปยัง Xcode Project ให้แน่ใจว่าได้ทำเครื่องหมายที่ 'คัดลอกไฟล์ไปยังไดเรกทอรี'
  2. ในเป้าหมายของแอปพลิเคชันที่มีให้เพิ่ม 'Copy File Build Phase' ใหม่
  3. ตั้ง 'ปลายทาง' เป็น 'กรอบ'
  4. ลากใน. .framework ที่สร้างขึ้น

1
นอกจากนี้ยังใช้งานได้กับกรอบงาน iOS เมื่อเพิ่มเฟรมเวิร์กที่กำหนดเองลงในเวิร์กสเปซเพื่อสร้างพร้อมกับมัน คุณต้องเพิ่มส่วนของการรวมเฟรมเวิร์กของโซลูชันนี้เพื่อแก้ไขข้อผิดพลาดนี้เมื่อทำการดีบักบนอุปกรณ์!
cynistersix

1
ขอบคุณทำงานกับ iOS ฉันไม่ได้ทำตามขั้นตอนแรกของคุณเนื่องจากเฟรมเวิร์กถูกสร้างขึ้นแล้วในโฟลเดอร์ข้อมูลที่ได้รับมา
Gmeister4

! น่ากลัว บันทึกวันประหลาดของฉัน! 2017 - Xcode 8.3.2 ขอบคุณ!
เกล็น

ด้วยเหตุผลแปลก ๆ บางประการคุณไม่สามารถลากเฟรมเวิร์กจากส่วน "เชื่อมโยงไบนารีกับไลบรารี" เริ่มต้นไปยังส่วน "กรอบงานฝังตัว" แต่คุณสามารถลากกรอบจากรายการโครงการทางด้านซ้าย คุณจะต้องลบเฟรมเวิร์กออกจากส่วน "ลิงก์ไบนารีด้วยไลบรารี" ด้วยตนเองด้วยปุ่ม "-"
วิลเลียม Cerniuk

18

มันค่อนข้างง่ายสำหรับฉันฉันเพิ่งเพิ่มเฟรมเวิร์กของฉันไปยังไบนารีที่ฝังไว้ของฉันภายใต้เป้าหมายของแอป


15

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

นี่คือบนแท็บ ' การตั้งค่าการสร้าง ' ในส่วน 'การเชื่อมโยง ' เปลี่ยน ' เส้นทางค้นหาเส้นทาง ' เป็น$(inherited) @executable_path/Frameworks


ฉันต้องการทั้งสองขั้นตอนขั้นตอนนี้และเพื่อเพิ่ม 'Copy File Build Phase' ใหม่ด้วยกรอบก่อน
23

ฉันมีโครงการ Xcode รุ่นเก่าที่ได้รับการปรับปรุงเพิ่มเติมและการตั้งค่าเหล่านี้ขาดหายไปสำหรับฉัน เพิ่มและตอนนี้ทำงานตามที่คาดไว้
Mattio

จากวิธีแก้ปัญหาทั้งหมดที่ใช้งานได้มันน่ารำคาญมากที่วิธีแก้ปัญหาเป็นเหมือน "โอเคให้ฉันลงรายการของโพสต์สแต็คโอเวอร์โฟลว์เหล่านี้เนื่องจากสาเหตุที่ไม่ชัดเจน" APPLEEEEE
Ryan

9

ฉันพบปัญหาเดียวกัน แต่วิธีแก้ปัญหาที่ยอมรับไม่ได้ผลสำหรับฉัน แต่ทางออกคือการแก้ไขชื่อการติดตั้งของกรอบ

ข้อผิดพลาดในโพสต์ต้นฉบับคือ:

dyld: Library not loaded: /Library/Frameworks/TestMacFramework.framework/Versions/A/TestMacFramework
  Referenced from: /Users/samharman/Library/Developer/Xcode/DerivedData/TestMacContainer-dzabuelobzfknafuhmgooqhqrgzl/Build/Products/Debug/TestMacContainer.app/Contents/MacOS/TestMacContainer
  Reason: image not found

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

otool -D MyFramework.framework/MyFramework

เมื่อกรอบจะถูกฝังอยู่ใน app เส้นทางนี้ควรจะเป็นญาติและแบบฟอร์มนี้: @ RPATH / MyFramework.framework / MyFramework หากชื่อการติดตั้งของเฟรมเวิร์กเป็นพา ธ สัมบูรณ์อาจไม่สามารถโหลดได้ที่รันไทม์และข้อผิดพลาดคล้ายกับที่กล่าวมาจะถูกสร้างขึ้น

ทางออกคือการแก้ไขชื่อการติดตั้ง:

install_name_tool -id "@rpath/MyFramework.framework/MyFramework" MyFramework.framework/MyFramework 

ด้วยการเปลี่ยนแปลงนี้ฉันไม่ได้รับข้อผิดพลาดอีกต่อไป



7

ปัญหาเหล่านี้ไม่ได้แก้ไขปัญหานี้สำหรับฉัน ปัญหาในที่สุดก็ค่อนข้างง่าย ดูเหมือนว่าเป็นข้อผิดพลาด Xcode ที่สำคัญซึ่งฉันได้บันทึกปัญหาและแก้ไขภายใต้ Apple bug: 29820370 หากคุณกำลังดิ้นรน (เพราะดูเหมือนว่ามีปัญหาหลายอย่างที่คล้ายกับหน้านี้) มันจะดีมากถ้าคุณสามารถ เพิ่มข้อผิดพลาดในการรายงานบั๊ก: https://bugreport.apple.com/และอ้างอิงข้อผิดพลาดที่ฉันยกขึ้นเพื่อให้มองเห็นได้ ฉันต้องการทำให้ Xcode กลับมามีความสุขเหมือนเดิม - และนี่คือสิ่งที่ฉันแน่ใจว่า Xcode ควรแก้ไขตัวเอง

นี่คือการแก้ไข: 1. เปิด Keychain - ไปที่ Apple Worldwide Developer Cert 2. ดับเบิลคลิกที่มัน 3. เปลี่ยนระดับการอนุญาตจาก "always trust" เพื่อใช้ค่าเริ่มต้นระบบ 4. บันทึกและปิด 5. รีสตาร์ท Xcode ล้างและสร้างโครงการของคุณและควรจะหายไป

สกรีนช็อตด้านล่างของการตั้งค่าที่ถูกต้อง: แก้ไขการเข้าถึงพวงกุญแจ หวังว่านี่จะช่วยได้!


2
"ใช้ค่าเริ่มต้นของระบบ" น่าจะเป็นการตั้งค่ามาตรฐาน
Raphael

ไม่เสมอไป - บางสิ่งบางอย่างดูเหมือนจะเปลี่ยนไปซึ่งส่งผลให้เกิดความผิดพลาดนั้น
UKDataGeek

ขอบคุณนี้แก้ไขปัญหาของฉันเช่นกัน! น่าเสียดายที่ฉันไม่เห็นตั๋วของคุณในตัวติดตามบั๊กเพื่อให้มองเห็นเพิ่มเติมได้ ฉันไม่แน่ใจว่าทำไมมันไม่แสดงข้อบกพร่องที่นั่น
Jim

7

Xcode 11:

ใน Xcode 11 เพิ่มเฟรมเวิร์กลงใน General->Frameworks, Libraries And Embedded Content

หลังจากเพิ่มให้แน่ใจว่าคุณเลือกEmbed & Signตัวเลือก

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


2
หากคุณทำสิ่งนี้คุณจะไม่สามารถอัปโหลดแอปของคุณใน app store ได้
Mahendra

@Mahendra ทางเลือกอื่นที่คุณใช้ในกรณีนี้คืออะไร? ฉันมีปัญหาที่คล้ายกัน
Derryl Thomas

@DerrylThomas แอปยังคงอยู่ในโหมดการพัฒนาดังนั้นจึงไม่ได้ทดสอบกรณีนี้
Mahendra

1
@Mahendra โปรดแบ่งปันที่นี่ในกรณีที่คุณพบทางเลือกนี้ ฉันจะขอบคุณมาก
Derryl Thomas

@DerrylThomas ในขณะที่สร้างที่เก็บถาวรให้กู้คืนกลับไปที่ตัวเลือกห้ามฝังและสร้างไฟล์ปฏิบัติการเพื่ออัปโหลดไปยัง app store
BlackPearl12

6

เมื่อคุณลากเฟรมเวิร์กแบบกำหนดเองไปยังโครงการภายใต้Xcode 10.1มันจะถือว่าเฟรมเวิร์กเป็นเฟรมเวิร์กระบบและวางเฟรมเวิร์กลงในส่วน "ลิงก์ไบนารีกับไลบรารี" ของ "Build Phases" ภายใต้เป้าหมายของคุณ

เฟรมเวิร์กระบบอยู่บนอุปกรณ์อยู่แล้วดังนั้นจึงไม่ถูกคัดลอกไปยังอุปกรณ์และจึงไม่สามารถดำเนินการได้ในขณะทำงานดังนั้น KABOOM (ขัดข้องใน __abort_with_payload และข้อผิดพลาด disinforming: "เหตุผล: ไม่พบภาพ") นี่เป็นเพราะรหัสกรอบไม่ได้คัดลอกไปยังอุปกรณ์ ...

ในความเป็นจริงหากต้องการให้ Xcode เชื่อมโยงกรอบงานที่กำหนดเองและตรวจสอบให้แน่ใจว่ามีการคัดลอกพร้อมกับรหัสของคุณไปยังอุปกรณ์ iOS (จริงหรือจำลอง) กรอบงานที่กำหนดเองจะต้องย้ายไปที่ "คัดลอกทรัพยากรบันเดิล" ในที่สุดนี้จะรวมเฟรมเวิร์กพร้อมกับโค้ดของคุณที่สามารถใช้งานได้บนอุปกรณ์เข้าด้วยกัน

ในการเพิ่มกรอบงานที่กำหนดเองให้กับโครงการและหลีกเลี่ยงความล้มเหลวของ Apple:

  1. ลากกรอบงานที่กำหนดเองลงในรายการไฟล์โครงการ iOS ของคุณ
  2. คลิกชื่อโครงการในนาวิเกเตอร์ -> TargetName -> "สร้างเฟส" -> เชื่อมโยงไบนารีกับสามเหลี่ยมการเปิดเผยไลบรารี
  3. ลากกรอบงานที่กำหนดเองออกและลงไปที่ส่วน "คัดลอกทรัพยากรชุดข้อมูล" ด้านล่าง (ตอนนี้ Xcode ย้ายการอ้างอิงกรอบงานแก้ไขใน Xcode 10)
  4. ทำงานในอุปกรณ์จำลองหรืออุปกรณ์

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

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

[บรรณาธิการ: คุณคิดว่า Xcode จะฉลาดพอที่จะเข้าใจความแตกต่างระหว่างหนึ่งในเฟรมเวิร์กของระบบซึ่งไม่จำเป็นต้องคัดลอกไปยังอุปกรณ์และเฟรมเวิร์กที่กำหนดเองคือโอ้ฉันไม่รู้ในลำดับชั้นไดเรกทอรีไดเรกทอรีโครงการ ... 🙄]


5

ควรมี 'เรียกใช้สคริปต์' เป็น 'สร้างเฟส' ด้วย: '/ usr / local / bin / carthage copy-frameworks'

ใน 'ไฟล์อินพุต' ของ 'เรียกใช้สคริปต์' คุณควรเพิ่มเส้นทางไปยังไลบรารีของคุณ แบบนี้:

สร้างสคริปต์เรียกใช้งานเฟส


4

หากคุณรีเซ็ตพวงกุญแจของคุณโดยไม่ได้ตั้งใจสิ่งนี้อาจเกิดขึ้นเนื่องจากไม่มีใบรับรอง Apple ในพวงกุญแจ ฉันติดตามสิ่งนี้เพื่อแก้ปัญหาของฉัน

ฉันมีปัญหาเดียวกันและสามารถแก้ไขได้โดยการดาวน์โหลด WWDR อีกครั้ง (ผู้ให้บริการออกใบรับรองความสัมพันธ์กับผู้พัฒนาสัมพันธ์ทั่วโลกของ Apple) ดาวน์โหลดได้จากที่นี่: http://developer.apple.com/certificationauthority/AppleWWDRCA.cer


นี่เป็นการแก้ไขปัญหาของฉันเช่นกัน อย่าลืมล้างโฟลเดอร์ build ก่อนทำการคอมไพล์ใหม่
Justin Milo

4

หากคุณใช้Xcode 11ตรวจสอบให้แน่ใจว่าคุณได้เพิ่มเฟรมเวิร์กใน Frameworks ไลบรารีและเนื้อหาฝังในการตั้งค่าเป้าหมาย - ทั่วไป เปลี่ยนสถานะการฝังจาก - 'อย่าฝัง'เป็น'การฝังและลงชื่อ'


แต่สิ่งนี้จะให้ข้อผิดพลาดการสนับสนุน Swift ITMS-90206 ไม่ถูกต้องเมื่อคุณแจกจ่ายไปยัง App Store มันใช้งานได้ในการพัฒนาเท่านั้น
Raptor

2

สิ่งที่แก้ไขได้สำหรับฉันคือการเปลี่ยนแปลงabstract_targetไปtargetสำหรับเป้าหมายหลักใน Podfile ของฉัน ก่อนหน้านี้ฉันตั้งค่าไว้abstract_targetและสิ่งนี้ทำให้เกิดข้อผิดพลาดที่อธิบายไว้ ตอนนี้มันทำงานเหมือนจับใจ


1

สำหรับ Xcode 8 ผลิตภัณฑ์เก่าบางรายการจะถูกลบออกจากโฟลเดอร์ข้อมูลที่ได้รับมาอ้างอิงถึงวิธีแก้ไขปัญหานี้

Apple: ใน macOS 10.12 และใหม่กว่า Xcode จะล้างข้อมูลที่ได้จากค่าเก่าส่วนหัวที่คอมไพล์แล้วและแคชโมดูล (23282174)

ระบบการสร้าง Xcode สนับสนุนการลบไฟล์เก่าของสิ่งประดิษฐ์บิลด์บางประเภทที่สร้างขึ้นในบิลด์ก่อนหน้านี้ แต่ตั้งแต่นั้นถูกลบออกจากโครงการ

จากความคิดของผู้เขียนฉันพบบันทึกการสร้างนี้จากกรณีของฉัน

Remove stale build products

/bin/rm -rf /Users/usename/Library/Developer/Xcode/DerivedData/myapp-esvvhwwwwngijeemhatmklwzoxnb/Build/Products/Debug-iphonesimulator/myapp.app/Frameworks/AliyunVodPlayerSDK.framework
/bin/rmdir /Users/usename/Library/Developer/Xcode/DerivedData/myapp-esvvhwwwwngijeemhatmklwzoxnb/Build/Products/Debug-iphonesimulator/myapp.app/Frameworks

หลังจากสร้างเฟสไฟล์คัดลอกใหม่และคัดลอกเฟรมเวิร์กเก่าของปลายทางไปยังปลายทางFrameworksบันทึกการลบข้างต้นจะหายไปหลังจากสร้างใหม่

เพียงชี้แจงสถานการณ์และเหตุผลของฉันหวังว่ามันจะมีประโยชน์สำหรับใครบางคน


1

สำหรับฉันนี่คือทางออกหลังจากการค้นหาหลายชั่วโมง !!

ด้วยเหตุผลบางอย่างการพัฒนา Swift 2.3 custom Framework, Xcode 8 ได้ลบการDYLIB_INSTALL_NAME_BASEตั้งค่าออกจากproject.pbxprojไฟล์ เดินเข้าไปในBuild Settings / Dynamic Library Install Name Baseฉากหลังเพื่อ@rpathแก้ไข

(จากhttps://forums.developer.apple.com/thread/4687 )


0

ฉันพบว่าปัญหานี้เกี่ยวข้องกับการเซ็นชื่อรหัสและใบรับรองไม่ใช่รหัสเท่านั้น หากต้องการตรวจสอบสิ่งนี้ให้สร้างแอปมุมมองพื้นฐานขั้นพื้นฐานแล้วลองเรียกใช้งานโดยไม่เปลี่ยนแปลงอุปกรณ์ของคุณ หากคุณเห็นประเภทข้อผิดพลาดเดียวกันแสดงว่ารหัสของคุณใช้ได้ เช่นเดียวกับฉันคุณจะพบว่าใบรับรองของคุณไม่ถูกต้อง ดาวน์โหลดทั้งหมดอีกครั้งและแก้ไขสิ่งที่หมดอายุ จากนั้นเมื่อคุณได้รับแอปพื้นฐานที่จะไม่รายงานข้อผิดพลาดให้ลองแอปของคุณอีกครั้งหลังจากออกจาก Xcode และอาจรีสตาร์ท mac ของคุณเพื่อการวัดที่ดี ในที่สุดก็ทำให้ฝันร้ายนี้จบลง เป็นไปได้มากว่านี่จะไม่เกี่ยวข้องกับรหัสของคุณโดยเฉพาะถ้าคุณได้รับข้อความว่าประสบความสำเร็จในการสร้างเมื่อคุณพยายามเรียกใช้ FYI


0

มีปัญหาเมื่อพยายาม Xcode 9 เบต้าและกลับไปที่ Xcode 8 การล้างเป้าหมายที่ง่าย ๆ ช่วยแก้ไขปัญหาได้


0

ฉันมีปัญหาเดียวกันด้วยเหตุผลอื่น ฉันได้สร้างการกำหนดค่าใหม่ให้กับ Debug and Release (ภายใต้โครงการ -> แท็บข้อมูล -> การกำหนดค่า) และฉันต้องเปลี่ยนเชลล์สคริปต์เฟรมเวิร์ก pod ของฉัน (Pods- "appName" -frameworks.sh ภายใต้ Target Support Support Files) เพื่อให้ทำงานได้

[Xcode 9]


0

สิ่งเดียวที่ใช้ได้สำหรับฉัน:

เป้าหมาย> Build Phases> [CP] ฝัง Pods Framework ยกเลิกการทำเครื่องหมาย "แสดงตัวแปรสภาพแวดล้อมในบันทึกการสร้าง" และ "เรียกใช้สคริปต์เมื่อติดตั้ง"


0

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

แก้ไข: เป้าหมายการทดสอบ UI ของฉันไม่ทำงานเช่นกันและโซลูชันที่ฉันพบคือการลบและสร้างอีกครั้ง


0

open xcode -> ทั่วไป -> ไบนารีที่ฝัง -> เพิ่ม QBImagepicker.framework และ RSKImageCropper -> โครงการที่สะอาด

เพียงเพิ่ม QBImagePicker.framework และ RSKImageCropper.framework ที่ไบนารีแบบฝังที่ทำงานให้ฉัน


0

ฉันคิดว่าไม่มีวิธีที่แน่นอนในการแก้ปัญหานี้เนื่องจากอาจเกิดจากสาเหตุที่แตกต่างกัน ฉันยังมีปัญหานี้เมื่อสัปดาห์ที่แล้วฉันไม่รู้ว่าเมื่อไรและอะไรเป็นสาเหตุของปัญหานี้เฉพาะเมื่อฉันเรียกใช้งานบนโปรแกรมจำลองด้วย Xcode หรือลองติดตั้งลงในโทรศัพท์จากนั้นจะรายงานข้อผิดพลาดดังกล่าว แต่เมื่อฉัน รันด้วย react-native run-ios พร้อมเทอร์มินัลไม่มีปัญหา

ฉันตรวจสอบทุกวิธีที่โพสต์บนอินเทอร์เน็ตเช่นต่ออายุใบรับรองเปลี่ยนการตั้งค่าใน Xcode (ทุกวิธีที่กล่าวถึงข้างต้น) จริง ๆ แล้วการตั้งค่าทั้งหมดใน Xcode ได้รับการตั้งค่าตามที่ขอไว้ก่อนหน้านี้ไม่มีวิธีใดที่เหมาะกับฉัน จนกระทั่งเช้านี้เมื่อฉันลบพ็อดและติดตั้งใหม่ข้อผิดพลาดจะหายไปในที่สุดหลังจากผ่านไปหนึ่งสัปดาห์ หากคุณกำลังใช้ cocoapod และข้อผิดพลาดก็ปรากฏขึ้นโดยไม่มีเหตุผลใด ๆ บางทีคุณอาจลองวิธีของฉัน

  1. ตรวจสอบเวอร์ชั่น cocoapods ของฉัน
  2. อัปเดตหากมีเวอร์ชันใหม่ให้ใช้งาน
  3. ไปที่โฟลเดอร์โครงการของคุณลบ Podfile.lock, ไฟล์ Pods, โปรเจ็กต์ xcworkspace
  4. เรียกใช้การติดตั้งพ็อด

0

ฉันประสบปัญหานั้นเมื่อทำงานบนอุปกรณ์จริง (iPhone SE) ในโครงการจำลองการทำงานตามที่คาดไว้

ฉันได้พยายามแก้ไขทั้งหมดจากนี้มากด้ายและจากที่นี่ ไม่มีใครทำงานให้ฉันได้

สำหรับฉันปัญหาได้รับการแก้ไขหลังจากรีสตาร์ท iPhone (sic!)

ฉันทำ:

  • ทำความสะอาดโฟลเดอร์สร้าง
  • ล้างข้อมูลที่ได้รับ
  • ลบแอพจากอุปกรณ์
  • รีบูตอุปกรณ์

และในที่สุดก็ใช้งานได้ :)

หากการแก้ปัญหาอื่น ๆ ล้มเหลวอย่าลืมลองทำดู


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