รับข้อผิดพลาด“ ไม่มีโมดูลดังกล่าว” โดยใช้ Xcode แต่มีกรอบงานอยู่


344

ฉันกำลังเขียนโค้ดใน Swift และฉันมีข้อผิดพลาด:

ไม่มีโมดูลสังคมดังกล่าว

แต่ฉันไม่เข้าใจเพราะโมดูลอยู่ในโครงการของฉันประกาศใน "กรอบงานและไลบรารีที่เชื่อมโยง" และใน "ไบนารีแบบฝัง"

เฟรมเวิร์กอยู่ใน Objective-C ดังนั้นฉันจึงเขียน Bridge Header

ได้โปรดฉันจะทำให้ Xcode รู้จักเฟรมเวิร์คได้อย่างไร?

โมดูลข้อผิดพลาด

โครงการ

ลิงก์กรอบงาน, ไลบรารี

ส่วนหัวของสะพาน


20
เพื่อไม่ให้นายมากเกินไป ชัดเจน แต่คุณได้ลองทำความสะอาดและสร้างเต็มแล้วหรือยัง?
Kalel Wade

28
หากส่วนหัวของเฟรมเวิร์กรวมอยู่ในไฟล์ส่วนหัวบริดจ์แล้วคุณไม่จำเป็นต้องนำเข้าในไฟล์ต้นฉบับ Swift
Martin R

2
นอกจากนี้คุณอาจต้องใช้เครื่องหมายคำพูดสำหรับการนำเข้า:#import "Social/Social.h"
Martin R

3
ข้อผิดพลาดเดียวกันกับ CocoaPods 'ไม่มีโมดูลข้อผิดพลาดดังกล่าว' ใน xcode
AsimRazaKhan

1
ผมเปลี่ยนการจัดวางเป้าหมาย 11-10 แต่ลืมมันใน platform :ios, '10.0'Podfile นั่นคือทางออก
Artur Guseynov

คำตอบ:


321

ฉันไม่แน่ใจว่าทำไมสิ่งนี้ถึงเกิดขึ้น แต่วิธีหนึ่งในการแก้ไขปัญหาของคุณคือไปที่การตั้งค่าการสร้างของคุณและกำหนดFramework Search Pathsไปยังโฟลเดอร์ที่มีเฟรมเวิร์กที่เป็นปัญหา หากวางเฟรมเวิร์กในไดเร็กทอรีโปรเจ็กต์ของคุณให้ตั้งค่าพา ธ การค้นหาเฟรมเวิร์กเป็นและตั้งเป็นเฟรม$(SRCROOT)ซ้ำ


5
ขอบคุณ ฉันต้องทำสิ่งนี้ในการตั้งค่าการสร้างโครงการของฉันมากกว่าการตั้งค่าการสร้างเป้าหมายของฉัน
Pulsar

8
เคล็ดลับสำหรับฉันคือการหาเส้นทางไปยังเฟรมเวิร์กเพื่อใช้ใน Framework Search Paths $ {TARGET_BUILD_DIR} / YourFrameworkName.framework ทำงานได้ดีสำหรับฉัน ดูเพิ่มเติมที่stackoverflow.com/questions/32816507/…
Chris Prince

11
มีการทำเช่นนี้ในแทนProject Build Settings Target Build Settings
Maxim Mikheev

378
ฉันแก้ไขสิ่งนี้โดยไปที่ห้องน้ำ เมื่อฉันกลับมามันก็ทำงานได้ ฉันค่อนข้างแน่ใจว่าฉันได้ลองทุกอย่างในกระทู้นี้แล้วไม่ทำงานอะไรเลย ฉันยังอธิษฐานในบางจุด
nmdias

2
หมายเหตุในการแก้ไข: $ (SRCROOT) ใช้ได้กับฉันเมื่อฉันเพิ่มลงในเส้นทางการค้นหา Framework สำหรับโครงการ PODS เท่านั้น
addzo

549

ในกรณีที่เป็นบ่ายวันศุกร์หรือทุกเวลาหลัง 1am:

การเปิดxcodeprojแทนxcworkspaceจะทำให้เกิดข้อผิดพลาดเช่นนี้ ...


2
ฉันลองนี่เป็นจอกศักดิ์สิทธิ์ ตลก. ใครจะรู้ แต่กำลังออกจากนั้นเปิดพื้นที่ทำงานอีกครั้งได้จริงเช่นกัน ทำความสะอาดแล้วสร้าง
จันทร์ที่

3
21.00 น. ใช้ fastlane ระบุโรงยิม (โครงการ: ---) แทนโรงยิม (พื้นที่ทำงาน: ----) ขอบคุณ!
RickiG

1
สิ่งนี้เกิดขึ้นกับฉันหลังจาก Xcode ล้มเหลวและฉันเลือกแอปพลิเคชัน 'เปิดใหม่' จากรายงานข้อผิดพลาด ฉันจะรู้ดีขึ้นในครั้งต่อไป
แสตมป์

ฉันติดตั้ง XCODE ใหม่และฉันได้รับข้อผิดพลาดนี้เนื่องจากฉันเปิดแอพผ่านทางโปรเจ็กต์ที่เพิ่งเปิด ปิดโปรเจ็กต์, ไฟล์ -> เปิด -> เลือกไฟล์ xcworkspace และทุกอย่างทำงานได้
Dpedrinha

ยังใช้กับการสร้างบนบรรทัดคำสั่ง (ปัญหาของเรา): xcodebuild -workspace yourproject.workspace
Ben Butzer

57

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

นั่นคือหากคุณมีโครงการ "หลัก" ที่มีการกำหนดค่าชื่อ "AppStore" คุณต้องตรวจสอบให้แน่ใจว่าโครงการย่อยทั้งหมดมีชื่อการกำหนดค่านี้เช่นกัน

ดูภาพหน้าจอที่แนบมาของฉัน

การตั้งค่าการกำหนดค่าในโครงการ "หลัก"

การตั้งค่าการกำหนดค่าในโครงการย่อยที่ 1

การตั้งค่าการกำหนดค่าในโครงการย่อยที่ 2


1
ในกรณีของโครงการย่อยมีเพียงDebugและโครงการแม่ได้พยายามที่จะสร้างสำหรับDistribution Releaseวิธีแก้ไขคือทำสำเนาDistributionในโครงการย่อยและเปลี่ยนชื่อสำเนาReleaseนั้น
olivaresF

2
นี้นำไปสู่การหาฉันปัญหา แต่ฉันจะแก้ไขได้โดยการเพิ่มเส้นทางการค้นหากรอบในการกำหนดค่าที่กำหนดเองของฉันตั้งแต่ฉันไม่ต้องการที่จะสัมผัสโครงการย่อยของบุคคลที่ 3 :)
DeFrenZ

ขอบคุณ! ฉันมีการกำหนดค่า 3 รายการในโครงการหลักของฉัน ดังนั้นฉันทำแบบเดียวกันกับกรอบงานแล้วก็ช่วยได้
daxh

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

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

44

ฉันไม่แน่ใจว่าทำไมคำตอบของMartin Rในความคิดเห็นสำหรับคำถามจึงถูกละเลย:

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

หวังว่านี่จะช่วยได้


38

ผมมีปัญหาเดียวกันโดยใช้ Cocoapods และสวิฟท์ ฉันไม่ได้สังเกตบรรทัดต่อไปนี้ใน Podfile:

# Uncomment this line if you're using Swift
# use_frameworks!

ดังนั้นสิ่งที่ฉันต้องทำคือเปลี่ยนเป็น:

# Uncomment this line if you're using Swift
use_frameworks!

... aaand มันใช้งานได้ :)


ใช่สำหรับฉัน use_frameworks ไม่ได้แม้กระทั่งใน Podfile ของฉันดังนั้นฉันเพิ่ม
PhoenixB

22

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

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


นอกจากนี้ยังกล่าวถึงโดยคริสเจ้าชาย
แฟรงคลินยู

18

ฉันกำลังประสบปัญหานี้เช่นกัน การแก้ไขสำหรับฉันคือแผนการเก็บถาวรระหว่างสองโครงการไม่ตรงกัน ฉันมี xcworkspace พร้อมโปรเจ็กต์กรอบงานและโปรเจ็กต์แอป ปัญหาคือว่าในรูปแบบการเก็บถาวรสำหรับแอปของฉันฉันกำลังใช้การกำหนดค่าการสร้างที่แตกต่างจากกรอบที่ใช้สำหรับรูปแบบการเก็บถาวรของมัน ฉันตั้งค่า Build Configurations เป็น Release และแก้ไขปัญหาได้แล้ว


สิ่งนี้ใช้ได้สำหรับฉัน ฉันตั้งค่าโครงการหลักของฉันสร้างกำหนดค่ากลับเป็นปล่อย (จากการกระจาย) และตอนนี้มันตรงกับโครงการย่อย ทำงานทั้งหมด ขอบคุณ!
Charlie Seligman

1
กรอบงานของเราไม่ได้มีการกำหนดค่า AdHoc ที่เราใช้สำหรับโครงการ - ซึ่งหมายความว่ามันไม่ได้สร้างร่วมกับโครงการ
Johan

15

ขั้นตอนต่อไปนี้ใช้ได้สำหรับฉัน

  1. ออกจาก xcode
  2. ทำงาน"pod update"ในอาคารผู้โดยสาร
  3. เปิด.xcworkspaceและสร้างใหม่อีกครั้ง

1
ขั้นตอนเหล่านี้ใช้งานได้สำหรับฉัน ... ขอบคุณ ... ฉันรัน "ติดตั้ง Pod" แต่ไม่ได้รับ "โมดูล XXX ไม่พบ ... " แต่เมื่อออกจาก XCode แล้วเปิดพื้นที่ทำงานอีกครั้งช่วยฉัน ..
Aks

ปัญหาของฉันคือหลังจากเพิ่มการกำหนดค่าการสร้างใหม่และแบบแผนฉันได้รับ "โมดูลไม่พบ ... " ออกจาก Xcode ไม่ทำงานหลังจากที่pod installทำงาน
William Hu

สิ่งนี้ใช้ได้สำหรับฉัน มีคำอธิบายใด ๆ ว่าเหตุใดจึงแก้ปัญหาได้
Nico Cernek

มันใช้งานได้สำหรับฉัน หลังจากเปิด projectname.xcworkspace อีกครั้งต้องทำความสะอาดและสร้างใหม่อีกครั้งเพื่อให้ทำงานได้
Prashant

14

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

ตัวอย่างแสดงโครงสร้างไดเรกทอรีของ SwiftyJSON.framework

หากโฟลเดอร์ Modules หายไปโฟลเดอร์ "MyFramework.swiftmodule" จะพบเฟรมเวิร์ก แต่ Xcode จะไม่ทราบเนื้อหาของมันดังนั้นคุณจะได้รับข้อผิดพลาดที่แตกต่างกัน


2
ด้วยเหตุผลบางอย่างนี้จะไม่แสดงใน xcode 9.1 แม้ว่าจะมีอยู่ คลิกขวาที่เฟรมเวิร์ก> แสดงใน Finder> และตรวจสอบให้แน่ใจว่าโมดูลแมปของคุณอยู่ที่นั่น หากคุณใช้เฟรมเวิร์กแบบแมนนวลในโครงการพ็อดให้สร้างพ็อดของคุณใหม่หากคุณเพิ่งเพิ่มเฟรมเวิร์กแบบแมนนวลใหม่หรืออัปเดตเฟรมที่มีอยู่
Christopher Larsen

1
ขอบคุณ! ฉันสร้างไฟล์ด้วยตัวเองและใช้งานได้: module framework NAME {ส่วนหัวของร่ม "NAME.h" export * module * {export *}}
Sjoerd Perfors

12

สมมติว่า Framework มีอยู่จริงและอยู่ในพา ธ ฯลฯ ... ลบไดเรกทอรี ~ / Library / Developer / Xcode / DerivedData / ModuleCache (และทำความสะอาดโครงการและลบข้อมูลที่ได้รับจากโครงการเพื่อวัดที่ดี)

เมื่อคุณทำการล้างข้อมูลมาตรฐานไดเรกทอรี ModuleCache จะไม่ถูกสร้างขึ้นมาใหม่


1
ฉันเพิ่งทำตามที่คุณบอกและไม่ได้ผล: /
alexandresecanove

1
ถ้าอย่างนั้นคุณอาจจะเจอกับปัญหาที่ต่างไปจากที่ฉันเห็น : - /
แบรดไบรตัน

ฉันมีปัญหาเดียวกันกับ Cocoapod และการลบไฟล์ใน ModuleCache นั้นได้ทำเพื่อฉัน
HolySamosa

10

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


9

ตรวจสอบให้แน่ใจว่าFind implicit Dependenciesในตัวเลือก Build ใน Scheme เปิดอยู่!


7

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

ข้อผิดพลาดคือ "ไม่พบโมดูล"

  • สร้าง Podfile ในไดเรกทอรีโครงการรากของคุณ
  • ติดตั้ง cocoapods (ผู้จัดการการพึ่งพาสำหรับโครงการ Swift และ iOS)
  • เรียกใช้การติดตั้งพ็อด
  • ไปที่การตั้งค่าการสร้างโครงการ:

    • ค้นหา Objective-c bridging Header ภายใต้ Swift compiler - การสร้างรหัส (หากคุณไม่พบ Swift compiler ที่นี่อาจเพิ่มไฟล์ Swift ใหม่ลงในโครงการ)
    • ลากและวางไฟล์ส่วนหัวของไลบรารีจากด้านซ้ายไปยังส่วนหัวบริดจ์ (ดูรูปที่แนบมา)ป้อนคำอธิบายรูปภาพที่นี่
  • สร้างไฟล์ส่วนหัว bridging ใหม่: เช่น TestProject-Bridging-Header.h และวางไว้ใต้ Swift Compiler → Objective-C Generated Interface Header ชื่อส่วนหัว (อ้างอิงดูรูปด้านบน)

  • ในไฟล์ TestProject-Bridging-Header.h ให้เขียน #import "Mixpanel / Mixpanel.h"
  • ในไฟล์ Swift ของคุณรหัสควรเป็น: Import Mixpanel (เช่นชื่อไลบรารี)

นั่นคือทั้งหมดที่


คำตอบนี้ช่วย เมื่อพยายามตั้งค่าสำหรับ MBProgress ฉันลงเอยด้วยการทำตามคำแนะนำที่ios-support.blogspot.com/2017/04/…ซึ่งคล้ายกันมาก
Vette

6

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


มันทำงานเพียงครั้งเดียวแล้วเมื่อฉันวิ่งไปที่ปัญหาเดียวกันของการไม่พบโมดูล
nycdanie

5

ฉันได้รับข้อผิดพลาดเดียวกันสำหรับ

import Firebase

แต่จากนั้นสังเกตว่าฉันไม่ได้เพิ่มพ็อดลงในส่วนเป้าหมายหลัก แต่เพิ่มเฉพาะในเป้าหมาย Test และ TestUI ใน Podfile เท่านั้น

ด้วยคำสั่ง

pod init

สำหรับโครงการ xcode swift Podfile ต่อไปนี้จะถูกสร้างขึ้น

# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'

target 'MyApp' do
  # Comment the next line if you're not using Swift and don't want to use dynamic frameworks
  use_frameworks!

  # Pods for MyApp

  target 'MyAppTests' do
    inherit! :search_paths
    # Pods for testing
  end

  target 'MyAppUITests' do
    inherit! :search_paths
    # Pods for testing
  end

end

ดังนั้นต้องตรวจสอบให้แน่ใจว่ามีการเพิ่มพ็อดลงในพื้นที่ที่เหมาะสม


5

หากคุณกำลังสร้างแพลตฟอร์มเช่น tvOS ตรวจสอบให้แน่ใจว่าคุณได้เลือกจำลองของ Apple TV (เช่นการจับคู่)

การสร้างแอป tvOS ด้วยเครื่องมือจำลอง iOS ที่เลือกทำให้ฉันมีข้อผิดพลาดอย่างแน่นอน ใช้เวลาส่วนที่ดีขึ้นของหนึ่งชั่วโมงเพื่อค้นหาปัญหาการสร้างทุกประเภท ... doh


1
เช่นเดียวกันหากคุณเลือก "My Mac" เมื่อสร้างโครงการ iOS ฉันไม่รู้ว่าทำไม Xcode ถึงยอมให้สิ่งนี้ ... 😒
Klaas

ขอบคุณ! ชัดเจนมากในขณะนี้ แต่ข้อผิดพลาดทำให้ฉันมองหาวิธีแก้ปัญหาที่ซับซ้อนมากขึ้น!
Dan Messing

5

ในกรณีของฉันแอพนี้ IPHONEOS_DEPLOYMENT_TARGET ได้รับการตั้งค่าเป็น 9.3 ในขณะที่ในเฟรมเวิร์กที่สร้างขึ้นใหม่ของฉันมันถูกตั้งค่าเป็น 10.2

ตัวแก้ไขการพึ่งพาโดยนัยไม่สนใจกรอบงานใหม่ของฉันเพราะข้อกำหนดของแพลตฟอร์มเป้าหมายนั้นสูงกว่าข้อกำหนดของแอพ

หลังจากปรับกรอบเป้าหมายการปรับใช้ iOSให้ตรงกับเป้าหมายการปรับใช้แอปพลิเคชันของฉันเฟรมเวิร์กที่รวบรวมและลิงก์สำเร็จ


ขอบคุณ หลังจากเสียเวลาหลายชั่วโมงฉันพบว่าเป้าหมายการปรับใช้เป็นปัญหา
niks

4

ผมได้รับข้อผิดพลาดเดียวกันเป็น i Cocoapodsเพิ่มคู่ของกรอบการใช้ ถ้าเราจะใช้ฝักในโครงการของเราเราควรจะใช้แทนxcodeworkspace xcodeprojectเพื่อเรียกใช้โครงการผ่าน xcodebuild ฉันได้เพิ่ม-workspace <workspacename>พารามิเตอร์ในxcodebuildคำสั่งและทำงานได้อย่างสมบูรณ์


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

@pawan singh คุณช่วยฉันไว้หลายชั่วโมงแล้วขอบคุณ!
Dmitry Senkovich

3

ผมพบว่าImport PathsในBuild Settingsเรื่องที่ผิดสำหรับการกำหนดเอง (MySQL) โมดูล หลังจากชี้ไปในทิศทางที่ถูกต้องแล้วข้อความก็หายไป


@rplankenhorn เอ่อแค่ที่คุณใส่ไว้ในเครื่อง เรียกใช้ a findถ้าคุณไม่รู้
qwerty_so

3

ฉันแก้ไขสิ่งนี้ด้วย

เป้าหมาย -> ทั่วไป -> กรอบงานและไลบรารีที่เชื่อมโยง

เพิ่มเฟรมเวิร์กที่ควรอยู่ด้านบนในWorkspaceโฟลเดอร์ ความเจ็บปวดในตูด


3

ฉันเพิ่งลบ cocoapod ของฉัน จากนั้นฉันติดตั้งพ็อดเพื่อลบออก จากนั้นฉันเพิ่งเพิ่มมันลงใน podfile ของฉันและติดตั้งใหม่ นั่นทำให้มันใช้งานได้ ไม่แน่ใจว่าทำไม


3

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

pod install

ไม่มีการติดตั้งพ็อดใหม่เพียงไฟล์. xcodeproj ได้รับการสร้างใหม่และการเก็บถาวรเริ่มทำงาน


3

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

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


ขอบคุณเพื่อนคุณช่วยชีวิตฉันไว้! +1
DungeonDev

3

มีการกำหนดค่าผิดพลาดหลายอย่างที่อาจเกิดขึ้นได้

  1. โปรดยืนยันว่าคุณได้เปิด.xcworkspaceแต่ไม่ใช่.xcodeprojไฟล์ นอกจากนี้ยังให้แน่ใจว่าคุณได้สร้างก่อนที่คุณจะสร้างSocialTriviaApp
  2. ตรวจสอบให้แน่ใจว่าเป้าหมายการปรับใช้ iOS ได้รับการตั้งค่าเหมือนกันสำหรับโมดูลทั้งหมดที่มีแอพหลัก ยกตัวอย่างเช่นเป็นTriviaApps เป้าหมายการใช้งานมีการตั้งค่า9.0, Socials 9.0เป้าหมายการใช้งานนอกจากนี้ยังจะต้องมีการตั้งค่าให้
  3. ตรวจสอบให้แน่ใจว่าโมดูลหลักของคุณ ( TriviaApp) และเฟรมเวิร์กที่คุณใช้ ( Social) มีการกำหนดค่าชุดเดียวกัน เช่นหากโครงการของคุณมีสามการตั้งค่า, Debug, Release, ReleasePremiumกว่ากรอบของสังคมยังต้องมีสามการตั้งค่าDebug, ,Release ReleasePremiumยังให้แน่ใจว่าการกำหนดค่าที่เก็บการตั้งค่าเหมือนกันสำหรับทั้งสองและTriviaApp Socialเช่นถ้าคุณTriviaApps เก็บโครงการมีการตั้งค่าReleasePremiumของคุณSocials ReleasePremiumเก็บโครงการยังต้องตั้งใน
  4. โปรดมั่นใจได้ว่าคุณไม่จำเป็นต้องนำเข้าSocialในแต่ละไฟล์เมื่อเข้ามาแล้วใน.swiftBridging-Header.h
  5. ในกรณีที่มีปัญหามาจากไฟล์ Pod ให้แน่ใจว่าคุณได้ uncommented #use_frameworks!เข้าจากคุณuse_frameworks! Podfileบางครั้งการติดตั้งพ็อดจะทำงานSocialได้หากมีการอ้างอิงใด ๆ กับพ็อด
  6. หากขั้นตอนข้างต้นไม่สามารถใช้งานได้ให้ลบโฟลเดอร์ข้อมูลที่ได้รับแล้วลองสร้างใหม่

ว้าวฉันจะไม่คิดออกโดยปราศจากความช่วยเหลือของคุณ อันที่จริงฉันได้เพิ่มการกำหนดค่าแบบกำหนดเองลงในโครงการหลักของฉัน แต่มันหายไปจากกรอบงาน
Iulian Onofrei

@lulian มีความสุขที่ได้ทราบว่ามันช่วย
Sazzad Hissain Khan

2

หากคุณใช้คาร์เธจกรอบการทำงานในการตั้งค่าอาคารมักจะยังคงอยู่

$(PROJECT_DIR)/Carthage/Build/iOS

หากคุณเรียกใช้carthage update --platform ios --no-build(เพื่อประหยัดเวลา) ไฟล์ภายในโฟลเดอร์ Build จะไม่ถูกสร้างใหม่ดังนั้นโมดูลจะไม่พร้อมใช้งานสำหรับ XCode

ในกรณีของฉันฉันทำงานcarthage update --platform iosแล้วปัญหาของฉันได้รับการแก้ไข


2

ในทั่วไป => เชื่อมโยงกรอบงานและไลบรารีฉันเพิ่มของฉัน./Pods/Pods.xcodeprojและมันก็ทำตามเคล็ดลับ


2

สำหรับฉันBuild Active Architecture เท่านั้นถูกตั้งค่าเป็น Yes สำหรับการกำหนดค่าที่เลือก นี่เป็นการหลอกลวง:

เลือก "พ็อด" จากเนวิเกเตอร์โครงการด้านซ้าย> เลือก "การตั้งค่าการสร้าง"> สร้างสถาปัตยกรรมที่ใช้งานอยู่เป็นไม่เท่านั้น


1

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


1

ฉันมีปัญหาคล้ายกันกับการโหลด FacebookSDK ฉันเพิ่ม~ / Documents / FacebookSDK (ค้นหาตำแหน่งที่เฟรมเวิร์กของคุณ) ไปยังเส้นทางการค้นหา Frameworkในการตั้งค่า Buildและหลังจากนั้นฉันก็สามารถนำเข้าโมดูล FBSDKShareKit ได้


1

สำหรับสิ่งที่คุ้มค่า (ฉันใหม่โดยใช้ Xcode 7.2 / Swift 2) แต่ฉันสังเกตเห็นว่าเพียงแค่มีไฟล์. swift จากไลบรารีในไดเรกทอรีโครงการโดยอัตโนมัติให้คุณเข้าถึงและไม่จำเป็นต้องใช้คำสั่ง

ตัวอย่าง: ฉันกำลังใช้ SwiftyJSON และเพียงแค่มีไฟล์ SwiftyJSON.swift ในโครงการคือทั้งหมดที่ฉันต้องการ usingคำสั่งที่ถูกจริงให้ฉันข้อผิดพลาด 'ไม่มีโมดูลดังกล่าวและการออกมติมันและมันก็ทำงานได้ดี

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