ข้อผิดพลาด: ไม่สามารถสร้างโมดูล Objective-C "Firebase"


110

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

ไม่สามารถสร้างโมดูล Objective-C "Firebase"

ข้อผิดพลาดนี้ปรากฏในimport Firebaseไฟล์ของฉันอย่างรวดเร็ว

คำตอบ:


206

มีทางเดียวที่จะแก้ปัญหานี้ได้

  1. ออกจาก Xcode
  2. ลบไฟล์ชั่วคราวของโครงการที่อยู่ที่ ~/Library/Developer/Xcode/DerivedData
  3. ลบ ProjectName.xcworkspace
  4. ลบPodfile.lockไฟล์และPodsโฟลเดอร์
  5. pod installวิ่ง
  6. เปิดProjectName.xcworkspaceไฟล์ที่สร้างขึ้นใหม่และสร้าง

ถ้าฉันลบ ProjectName.xcworkspace มันจะลบรหัสก่อนหน้านี้หรือไม่
Cons Bulaquena

4
ฉันไม่มีโฟลเดอร์ Xcode I ~/Library/Developer
Jonas

4
@DimitrisBouzikas ขอบคุณมาก! มันอยู่ข้างใต้~/User/ME/Library/...และมีโฟลเดอร์ Library ซ่อนอยู่ (ทำให้มองเห็นได้ด้วย Shift + cmd + (จุด))
Jonas

3
สำหรับผู้อ่านในอนาคตมีโฟลเดอร์ไลบรารีของคอมพิวเตอร์และหนึ่งในผู้ใช้โดยส่วนใหญ่จะอยู่ในผู้ใช้
Julian Wagner

2
ขอบคุณมากคุณประหยัดเวลาของฉัน! xCode v12
Milovan Tomašević

51

Build ( + B) ได้ผลสำหรับฉัน


1
ได้ผลสำหรับฉันหลังจากที่ฉันใช้คำตอบแรก ยังต้องเปลี่ยน FIRApp.configure () เป็น FirebaseApp.configure ()
aremvee

ทำงานให้ฉันโดยไม่ต้องใช้คำตอบของ Dimitris Bouzikas และฉันกำลังเพิ่ม firebase ไปยังโครงการที่มีอยู่สำหรับผู้ที่ทำแบบเดียวกัน
เสนอชื่อ

ฉันลองใช้โซลูชันของ Dimitri แล้ว แต่ไม่ได้ผลจบลงด้วยไฟล์ที่จำเป็นขาดหายไปวิธีนี้แก้ไขปัญหาได้
Mario Rojas

@MarioRojas คุณสามารถระบุไฟล์ที่จำเป็นได้หรือไม่? ศึกษาวิธีการทำงานของ Pod
Dimitris Bouzikas

40

ฉันใช้ Swift 4 และ Xcode 9 สิ่งที่ฉันต้องทำคือเลือก FirebaseCore Scheme

บน Xcode:

Product->Scheme->FirebaseCore.

หากคุณไม่มี FirebaseCore ให้ไปที่Manage Schemesและเลือก จากนั้นลองอีกครั้ง


1
เยี่ยมมากเพื่อนของฉันที่คุณช่วยฉันขอบคุณ กำลังค้นหาสิ่งนี้ตั้งแต่ 4 วันที่ผ่านมา ขอขอบคุณ. กูมันใช้ได้ !!!
Kaushal Topinkatti

1
สิ่งนี้ได้ผลสำหรับฉันเช่นกัน! (ฉันยังรีสตาร์ท Xcode โดยใช้ 'open myproject.xcworkspace หลังจากติดตั้ง Pods ในกรณีที่มีความสำคัญ)
Lucy

เมื่อฉันเปลี่ยนรูปแบบกลับไปเป็นแบบแผนของแอปสิ่งนี้จะใช้ไม่ได้อีกต่อไป ใครช่วยอธิบายหน่อย
Matthew Anderson

30

สิ่งนี้อาจแก้ไขปัญหาของคุณได้:

  1. ออกจาก Xcode (อย่าเพิ่งปิดหน้าต่าง Xcode คลิกขวาและออกอย่างชัดเจน)

  2. ไปที่~/Library/Developer/Xcode/DerivedDataและลบโฟลเดอร์โครงการ (เพียงแค่ลบโฟลเดอร์ทั้งหมด)

  3. ทำความสะอาดและสร้างโครงการ

หากยังมีข้อผิดพลาดอยู่:

ทำขั้นตอนที่ 1 และ 2 แล้วทำตามขั้นตอนนี้:

  1. เปลี่ยนรูปแบบเป็น Firebase และ Build ( Command+ B)

  2. เปลี่ยนกลับเป็นรูปแบบแอปของคุณและเรียกใช้อีกครั้ง


3
ขั้นตอนข้างต้นไม่สามารถแก้ปัญหาของฉันได้โปรดช่วยฉันด้วย
Samarth Kejriwal

โปรดลองคำตอบอื่น ๆ กรณีของคุณอาจแตกต่างกัน
Abhijith

16

ฉันเปิดโปรเจ็กต์ด้วย. xcodeproj และติดตั้ง Firebase ด้วย cocoapods ฉันได้รับข้อผิดพลาดเดียวกัน แต่ฉันแค่ปิดโปรเจ็กต์และเปิดด้วย. xcworkspace

การแจ้งเตือนหายไปแล้ว Firebase เป็นไลบรารีแรกในโครงการของฉัน ผมก็เลยใช้ไฟล์. xcodeproj


10

การติดตั้งอย่างถูกต้องผ่าน Firebase CocoaPods ลองทำตามขั้นตอนต่อไปนี้

ขั้นตอนที่ 1 - ปิด Xcode

ขั้นตอนที่ 2 - ล้างข้อมูลที่ได้รับของคุณ คุณสามารถค้นหาข้อมูลที่ได้รับของคุณได้ที่นี่

~ / Library / Developer / Xcode / DerivedData

ขั้นตอนที่ 3 - เปิด. xcworkspace ของคุณ

ขั้นตอนที่ 4 - ทำความสะอาดโครงการของคุณ ( ⌘ + Shift + K )

ขั้นตอนที่ 5 - สร้างโครงการของคุณ ( ⌘ + B )

ตรวจสอบให้แน่ใจว่าคุณเปิดไฟล์. xcworkspace


นี่เป็นคำตอบเดียวที่ใช้ได้ผลสำหรับฉันโดยใช้ Xcode 9.4 บนแอพ Ionic 3
Brent


3

ฉันใช้ Swift 4 และ Xcode 9.4 สิ่งนี้ช่วยแก้ปัญหาเดียวกันให้ฉัน

ฉันเลือกกรอบงานต่อไปนี้ใน XCode -> จัดการโครงร่างนอกเหนือจากโครงการเป้าหมายของฉัน

ใน Xcode:

Product-> Scheme-> FirebaseCore
Product -> Scheme -> nanopb
Product -> Scheme -> GoogleToolBoxforMac 

3

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

อย่างไรก็ตามฉันยังไม่สามารถใช้งานบนเครื่องจำลองได้ สิ่งที่ได้ผลที่นี่คือการเปลี่ยนBuild Active Architecture Only - Debugเป็นNOในไฟล์Pod Project Build Settings .

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


ขอบคุณ @marceh สิ่งนี้ช่วยฉัน หลังจากลองทำตามขั้นตอนข้างต้นแล้วไม่ได้ผล
ArdenDev

2

คุณช่วยลองดูคำตอบของฉันที่นี่ได้ไหม

TL; DR1.4.0 minimumให้แน่ใจว่าคุณกำลังทำงานรุ่น cocoapods แก้ไขการนำเข้าเฟรมเวิร์กแบบคงที่

คุณสามารถทำได้โดยเรียกใช้sudo gem install cocoapodsบนเทอร์มินัลของคุณและยืนยันเวอร์ชันของคุณโดยพิมพ์pod --version


2

ฉันลองสิ่งนี้ (ออกจาก Xcode, ลบไฟล์ temp ทั้งหมด, ติดตั้งพ็อดใหม่ ฯลฯ ) แต่ก็ไม่ได้ผล สิ่งที่ทำได้คือการสร้างโครงการของฉัน ( command + b) หลังจากpod installนั้น อะไรก็ได้!


2

ฉันได้ปิดใช้งานFind Implicit Dependenciesเพื่อให้กระบวนการสร้างเร็วขึ้นภายใต้Edit Scheme... > Build.

การเปิดใช้งานกลับช่วยแก้ปัญหาได้ ใส่คำอธิบายภาพที่นี่


1
Product => Edit Scheme ...
Shortcut

2

มันเกิดขึ้นกับฉันเพราะฉันติดตั้ง Firebase CocoaPods แต่ฉันไม่ได้เปิดขึ้นมาใหม่ผ่าน<projectName>.xcworkspaceไฟล์ ดังนั้นสิ่งที่ฉันได้ทำงานคือ:

  • ฉันออกจาก Xcode
  • เปิดโดยคลิก<projectName>.xcworkspaceไฟล์ของโครงการ
  • จากนั้นฉันสามารถใช้ "นำเข้า Firebase" ในโครงการของฉัน

2

ฉันเพิ่งมีปัญหานี้เมื่อใช้ Xcode 12 ฉันพบว่าการลบการตั้งค่าการสร้างสถาปัตยกรรมที่ถูกต้อง (VALID_ARCHS) ได้แก้ไขแล้ว

จากบันทึกประจำรุ่นXcode 12 :

ตัวแก้ไขการตั้งค่าการสร้างไม่รวมการตั้งค่าการสร้างสถาปัตยกรรมที่ถูกต้อง (VALID_ARCHS) อีกต่อไปและไม่แนะนำให้ใช้ มีการตั้งค่าการสร้างสถาปัตยกรรมที่ยกเว้นใหม่ (EXCLUDED_ARCHS) แทน หากโปรเจ็กต์มี VALID_ARCHS การตั้งค่าจะแสดงในส่วนที่กำหนดโดยผู้ใช้ของตัวแก้ไข Build Settings (15145028)


คำตอบนี้มีประโยชน์มาก ขอขอบคุณ!
Mitsuaki Ishimoto

1

สิ่งนี้ใช้ได้ผลสำหรับฉัน:

  1. ปิด Xcode
  2. ฝักสลายตัว
  3. ลบ xcworkspace
  4. ติดตั้งพ็อด
  5. ในโปรเจ็กต์เนวิเกเตอร์> ชื่อโปรเจ็กต์> คอนฟิกูเรชัน
  6. ตั้งค่าทั้งหมดเป็นไม่มี
  7. ทำความสะอาด
  8. สร้าง

1

ตรวจสอบว่าคุณกำลังทำงานกับไฟล์เวิร์กสเปซที่สร้างในไดเร็กทอรีเดียวกับไฟล์พ็อด


1

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

ภาพลักษณะของไฟล์: รูปภาพลักษณะของไฟล์


0

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

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



0

ที่นี่ไม่มีอะไรได้ผลสำหรับฉัน แต่แล้วฉันก็พบว่าบางอย่างได้ผล

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

เพื่อให้ Firebase ทำงานได้ฉันไปที่Podsภายใน Project Navigator และในส่วนConfigurationsฉันได้ลบการกำหนดค่าDebug ตอนนี้สร้างได้ดี หวังว่านี่จะช่วยคนอื่นได้


0

หลังจาก 2 วันในการค้นหาและลองทำทุกขั้นตอนที่เสนอในโพสต์นี้ในที่สุดฉันก็สามารถแก้ปัญหาได้ วิธีใดข้างต้นไม่สามารถแก้ปัญหาของฉันได้ แต่วิธีนี้:

  1. มีแพ็คเกจ Firebase frameworks ให้ดาวน์โหลดจากลิงค์นี้: https://firebase.google.com/download/ios?authuser=0
  2. มีไฟล์ส่วนหัว Firebase.h ในแพ็กเกจนี้ ฉันเพิ่มไฟล์ส่วนหัวนี้ในทรัพยากรโครงการของฉัน
  3. ในที่สุดฉันก็เพิ่มโค้ดบรรทัดที่ด้านบนของไฟล์นี้: '#import "Firebase.h"'

ข้อผิดพลาดหายไปอย่างง่ายดายและง่ายดาย!


0

สำหรับและวิธีแก้ปัญหานั้นง่ายมากเพราะฉันไม่ได้เปิดโปรเจ็กต์จาก. xcworkspace หลังจากที่ฉันติดตั้งพ็อด: D และฉันได้รับข้อผิดพลาดเดียวกันกับที่คุณได้รับ ฉันเปิดมันผิดพลาดจากไฟล์. xcodeproj เก่า นั่นคือสำหรับฉันฮ่า ๆ


0

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

def common_pods
  pod 'XXX'
end

target 'myMainProject' do
  common_pods()
  pod 'Firebase/Core'
  pod 'Firebase/AdMob'
  pod 'Firebase/RemoteConfig'
  pod 'Firebase/Crashlytics'
  pod 'Firebase/Analytics'
end

target 'myExtention1' do
  common_pods()
end

target 'myextension2' do
  common_pods()
end


0

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


-2

ฉันมีปัญหาเดียวกันแน่นอน

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

เมื่อเปิดพื้นที่ทำงานให้ลบโฟลเดอร์ "Pods" ออกจาก X-Code Open terminal ใน "Utilities" คุณจะพบสิ่งนี้ใน "Applications" โดยใช้ cd ... ไปที่โฟลเดอร์โครงการของคุณติดตั้งพ็อดใหม่โดยใช้ "pod install"

ที่ควรแก้ไข

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