ข้อผิดพลาด Xcode 10: หลายคำสั่งผลิต


659

ข้อผิดพลาด: คำสั่งจำนวนมากผลิต '/Users/uesr/Library/Developer/Xcode/DerivedData/OptimalLive-fxatvygbofczeyhjsawtebkimvwx/Build/Products/Debug-iphoneos/OptimalLive.app/Info.plist' 'คำสั่งที่หลากหลาย' ' '/Users/uesr/Desktop/workSpace/SEALIVE/SeaLive1.1/OptimalLive/Info.plist' / '/ Users / uesr / ไลบรารี่ / นักพัฒนา / Xcode / DerivedData / OptimalLive-fxatvygbofczeyhjsawtebkvvxx / ผลิตภัณฑ์ -Info.plist .app / Info.plist '2) เป้าหมาย' OptimalLive 'มีคำสั่งคัดลอกจาก' /Users/uesr/Desktop/workSpace/SEALIVE/SeaLive1.1/OptimalLive/Server/Masonry/Info.plist 'เป็น' / Users / uesr / Library / Developer / Xcode / DerivedData / OptimalLive-fxatvygbofczeyhjsawtebkimvwx / สร้าง / ผลิตภัณฑ์ / Debug-iphoneos / OptimalLive.app / Info.plist '3) เป้าหมาย' OptimalLive 'มีคำสั่งกระบวนการพร้อมอินพุต '/Users/uesr/Desktop/workSpace/SEALIVE/SeaLive1.1/OptimalLive/Info.plist'

การเรียกใช้รหัสใน Xcode9 ทำงานได้ แต่มีข้อผิดพลาดใน Xcode10


สำหรับ cocoapods ที่ได้รับการจัดการอ้างอิงอ้างอิงstackoverflow.com/a/52421345/334999
Shuo

เกิดขึ้นเมื่อคุณนำเข้ากรอบงานของบุคคลที่สามในโครงการของคุณและมี info.plist ในไฟล์ต้นฉบับ info.plist นี้ขัดแย้งกับแอพของคุณ เพียงลบออกจาก Build phases
protspace

ผู้อ่านที่รักอ่านทุกคำตอบสำหรับคำถามนี้มีหลายสิ่งที่อาจผิด
iluvcapra

ไปที่เส้นทาง "Build Phases-> Copy Bundle Resources" ตรวจสอบชื่อไฟล์และลบแบบเดียวกัน ทำความสะอาดและเรียกใช้ apllication
Sagar Sukode

คำตอบ:


1224

ปัญหาอาจเกิดขึ้นเนื่องจาก Plist หลายไฟล์หรือไฟล์อื่น ๆ ภายใน App-

โซลูชัน -> เปิดเป้าหมาย -> สร้างเฟส> คัดลอกทรัพยากรชุดข้อมูลและลบออกinfo.plistจากที่นั่น

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

หมายเหตุ:หากคุณพัฒนาแอพนาฬิกาเช่นกันคุณจะต้องลบโปรแกรม plist ออกจากนาฬิกาและส่วนต่อขยายนาฬิกาด้วย


12
คุณอาจจำเป็นต้องดูการพึ่งพาใด ๆ เช่น CocoaPods สำหรับไฟล์ info.plist ที่เพิ่มผิด
Chris Paveglio

68
หากต้องการอธิบายรายละเอียดเล็กน้อย: ข้อผิดพลาดนี้เกิดขึ้นเนื่องจากระบบการสร้างใหม่ของ Xcode 10 ดีกว่าในการตรวจสอบปัญหาการกำหนดค่าโครงการ ปัญหาเช่นนี้บางครั้งอาจทำให้เกิดปัญหาเล็กน้อยกับงานสร้างของคุณดังนั้นจึงเป็นเรื่องดีที่จะแก้ไข
Rick Ballard

2
ในกรณีของฉันฉันต้องลบไฟล์การแปลบางไฟล์ชื่อ InfoPlist.strings
neowinston

8
ในกรณีของฉันฉันมีinfo.plistไฟล์หนึ่งในการอ้างอิง CocoaPod ส่วนตัวของฉันที่ได้รับการตักขึ้นมาเพราะมันตรงกับsource_filesคุณสมบัติของพอดสเปค ฉันไม่ต้องการinfo.plistไฟล์ในโมดูลของฉันดังนั้นฉันเพิ่งลบมัน
aapierce

3
ขอบคุณ! ฉันได้เพิ่มปลั๊กอินนักพัฒนาบางส่วนและรหัสของฉันบางเวลาที่ผ่านมาและมันยังมีไฟล์ info.plist ซึ่งขัดแย้งกับ info.plist ของแอปของฉัน
Christopher Smit

567

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

  1. ใน Xcode ไปที่การตั้งค่าไฟล์ -> โครงการ / พื้นที่ทำงาน
  2. เปลี่ยนระบบ build เป็นระบบ Legacy Build

ป้อนคำอธิบายรูปภาพที่นี่ มันจะแก้ไขปัญหาการ build ด้วย Xcode 10 ใหม่

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

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


4
คุณช่วยอธิบายได้ไหมว่าทำไมปัญหานี้ถึงเกิดขึ้นและการเลือก Legacy Build System ช่วยแก้ปัญหาได้อย่างไร @Akshay Sunderwani
832

142
คุณไม่ได้แก้ไขปัญหาคุณเพียงแค่ซ่อนมันไว้
Caio

4
แก้ไขข้อผิดพลาดในการสร้างสำหรับโครงการที่ตอบสนองพื้นเมือง ดูปัญหาที่นี่: github.com/facebook/react-native/issues/20492มีวิธีแก้ไขที่เป็นไปได้หากคุณไม่ต้องการเปลี่ยนไปใช้ระบบ Legacy Build: github.com/facebook/react-native/issues/ …
Eugen Timm

6
นี่ไม่ใช่การแก้ไขระยะยาว ในที่สุดระบบสร้างเดิมจะไม่เป็นตัวเลือกอีกต่อไป
พอลคิง

6
ฉันจะซ่อนปัญหา 100% แทนที่จะแก้ไขเพราะไม่มีวิธีแก้ปัญหาเหล่านี้ ดูเหมือนว่าจะเป็นปัญหาที่รู้จักกับ Cocoapods; เห็นgithub.com/CocoaPods/CocoaPods/issues/7949 ฉันจะหวังว่ามันจะแก้ไขตัวเองตามเวลาที่การแก้ปัญหานี้จะไม่มีตัวเลือกอีกต่อไป
sudo

170

ไปที่ Xcode -> ไฟล์ -> การตั้งค่าพื้นที่ทำงาน คุณจะพบป๊อปอัปหนึ่งอัน

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

เลือก " Legacy Build System " จาก Build System tag กดที่ " เสร็จสิ้น "

หมายเหตุ: -ให้แน่ใจว่าได้ล้างโครงการของคุณด้วย " cmd + shift + alt + k " และ " Derived Data "

สร้างโครงการของคุณมันจะทำงานได้ดี :)


ตามความเข้าใจของฉันโครงการที่มีอยู่ของเรานั้นทำมาจาก swift และ xcode รุ่นเก่าซึ่งรองรับ swift และ xcode เวอร์ชันเก่า ดังนั้นก่อนหน้านี้สิ่งที่เราทำเราไปที่ "การตั้งค่าชุด -> ระบบสร้างแบบดั้งเดิมของ Swift" และเลือกรุ่นก่อนหน้า
Hardik1344

ฉันเคยใช้มันใน "Swift Legacy Build System" แต่มันถูกเปลี่ยนหลังจากรีสตาร์ทคอมพิวเตอร์ แม้ว่าคุณคิดว่าคุณตั้งค่าไว้ถูกต้องแล้วมันก็ยังคุ้มค่าที่จะได้รับการตรวจสอบซ้ำ
EndersJeesh

วิธีการแก้ปัญหานี้ไม่ได้แก้ไขปัญหาเพียงแค่ซ่อนมัน
อาร์กัส

ตรวจสอบให้แน่ใจว่าคุณเปลี่ยนการตั้งค่าพื้นที่ใช้งานต่อผู้ใช้เป็นเหมือนกัน)
Wei Shen


114

ลองสิ่งนี้เช่นกัน Xcode-> File-> Project Settings-> Build System -> Legacy Build System


38
ในกรณีนี้ Xcode กำลังตั้งค่าสถานะปัญหาในโครงการดังนั้นการเปลี่ยนกลับเป็นระบบการสร้างแบบดั้งเดิมจะเป็นการซ่อนไว้สำหรับตอนนี้ การรายงานของ Xcode เกี่ยวกับปัญหาประเภทนี้เป็นไปโดยเจตนาและเป็นการดีที่สุดที่จะแก้ไขปัญหา
Rick Ballard

2
หากข้อผิดพลาดอยู่ในโครงการที่สร้างขึ้นของ CocoaPods ฉันจะปิดการใช้งานระบบ Build ใหม่จนกว่าจะมีรุ่น CocoaPods ใหม่แก้ไขปัญหา
ริเวร่า

@ RickBallard เหมาะสมแล้วตอนนี้ซึ่งอาจแก้ไขได้ใช่มั้ย ดูเหมือนจะมีคำตอบหลายคำผสมกัน
rolando

1
มีหลายสาเหตุของข้อผิดพลาดประเภทนี้ แต่คุณสามารถอ่านเพิ่มเติมเกี่ยวกับความหมายที่help.apple.com/xcode/mac/10.0/#/dev14a2fd0c0
Rick Ballard

73

หากคุณได้รับนี้จากDittoคำสั่งการสร้างหลายกรณีของชื่อเดียวกัน (ไม่'copy files' build phase) Product Module Nameคุณอาจจะต้องเปลี่ยน

  1. คลิกที่ Xcode เป้าหมายของคุณกำลังบ่นเกี่ยวกับ
  2. คลิกที่ Build Settings
  3. ค้นหา Product Module Name
  4. เปลี่ยนชื่อเป็นสิ่งที่ไม่ซ้ำ

เรามีเป้าหมายการเฝ้าดูและเป้าหมายการแจ้งเตือนบางอย่างในแอปของเราดังนั้นฉันจึงวางสิ่งต่าง ๆExtensionไว้ท้ายชื่อโมดูล

ฉันพบโซลูชันนี้มาจากที่นี่: https://forums.developer.apple.com/thread/103913


1
มันใช้งานได้ดี แต่แล้วมันก็พังกับไฟล์ bridging
Mohamad Kaakati

5
ในกรณีของฉันฉันต้องเลือกAllทางด้านขวาของที่คุณค้นหาProduct Module Nameเพื่อให้การกำหนดค่าการสร้างนั้นแสดง
Hodson

56
ฉันมีปัญหาเดียวกันใน Xcode 10 โครงการเดียวกันทำงานได้ดีใน Xcode 9.4.1 ดังนั้นการแก้ปัญหาจึงง่ายมาก เพียงลบไฟล์ info.plist ทั้งหมดออกจากเป้าหมาย กรุณาทำเช่นนี้สำหรับไฟล์ info.plist ทั้งหมด ขั้นตอนที่ 1. เลือกไฟล์ info.plist 2. ในตัวตรวจสอบไฟล์ยกเลิกโครงการใน Target Membership จากนั้นเรียกใช้โครงการของคุณ ขอบคุณมาก!
Kit

12
สำหรับฉันฉันต้องไปที่ [Project_Name]> สร้างเฟส> คัดลอกทรัพยากรชุดข้อมูลและลบการทำซ้ำที่นั่น
user3322509

5
@Bharath อย่าลบไฟล์ info.plist ออกจากโครงการของคุณ คุณต้องลบออกจากเป้าหมายตามที่ฉันกล่าวไว้เท่านั้น เราไม่สามารถลบ info.plist มันสำคัญมากสำหรับโครงการ
ชุด

69

ฉันกำลังทดลองกับ Core Data ฉันสร้างโมเดลข้อมูลสำหรับโปรแกรมตรวจสอบอย่างง่ายและสร้าง NSManagedObjects เมื่อฉันรวบรวมโครงการฉันได้รับข้อผิดพลาดดังต่อไปนี้:

error: Multiple commands produce '/Users/myUSerName/Library/Developer/Xcode/DerivedData/myCoreDateExperiment-gzbslaqdwglkzxemijpdqmizgyzc/Build/Intermediates.noindex/ myCoreDateExperiment /Debug-iphonesimulator/ myCoreDateExperiment.build/Objects-normal/x86_64/CheckListItem+CoreDataProperties.o':
1) Target ' myCoreDateExperiment ' (project ' myCoreDateExperiment ') has compile command for Swift source files
2) Target ' myCoreDateExperiment ' (project ' myCoreDateExperiment ') has compile command for Swift source files

ปัญหาคือตัวแบบข้อมูล (CheckList.xcdatamodeld ในกรณีของฉัน) อยู่ในรายการ "แหล่งรวบรวม" โครงการคอมไพล์อย่างหมดจดเมื่อฉันลบออกจากรายการ

  1. เปิดตัวนำทางโครงการและเลือกโครงการ (รายการแรกสุดที่ด้านบน)
  2. เลือกเป้าหมายการสร้างของคุณภายใต้เป้าหมายในบานหน้าต่าง "โครงการและเป้าหมาย"
  3. เลือกตัวเลือกสร้างเฟสใกล้ด้านบน
  4. ขยายรายการ "แหล่งรวบรวม" และค้นหาชื่อรุ่นข้อมูลของคุณ ค้นหา "xcdatamodeld" หากคุณมีปัญหาในการค้นหา
  5. ลบแบบจำลองจากรายการรวบรวม
  6. ตรวจสอบให้แน่ใจว่าแบบจำลองข้อมูลรวมอยู่ในรายการ "คัดลอกทรัพยากรชุดข้อมูล" เพิ่มถ้ามันหายไป

แก้ไข

ในฐานะ @WilliamT อธิบายในความคิดเห็นที่คุณต้องการ xcdatamodeld ในรายการรวบรวม ให้ไปที่เอนทิตีของคุณภายในไฟล์ xcdatamodeld เลือกรุ่นที่มีข้อผิดพลาดขยายแผงด้านซ้ายและเปลี่ยนฟิลด์ของ "Codegen" เป็น "Manual / None"


36
ไฟล์ xcdatamodeld ควรอยู่ในแหล่งรวบรวม หากคุณเห็นข้อผิดพลาดนี้เกี่ยวกับ Core Data อาจเป็นเพราะคุณเรียกใช้ "สร้าง subclass ของ NSManagedObject" แต่คุณได้ตั้งเอนทิตีของคุณเป็น Codegen = "Class Class" ซึ่งหมายความว่ามันจะสร้างคลาสเหล่านี้ให้คุณโดยอัตโนมัติและคุณสร้างด้วยตนเองเพื่อให้มีอยู่สองครั้ง
William T.

1
คุณเป็นผู้ช่วยชีวิต
user578386

1
@WilliamT ดังนั้นสิ่งที่ควรเป็นมูลค่าของ Codegen ถ้ามีใครเรียกใช้สร้างระดับย่อยวัตถุ NSManaged?
Kaunteya

2
@ Kaunteya มีตัวเลือกในการตั้งค่า Codegen เป็น "Manual" ใน CoreData Attribute (ตาราง) แต่ละรายการ
William T.

1
ติดตาม @WilliamT คำแนะนำแล้วทำความสะอาดและสร้าง
PruitIgoe

40

ขณะตรวจสอบบันทึกการสร้างฉันสังเกตเห็นคำเตือน:

note: Using new build system
note: Planning build
note: Constructing build description
Build system information
warning: The Copy Bundle Resources build phase contains this target's Info.plist file '/Users/<redacted>/Repositories/Whitesmith/optimize-ios/Carthage/Checkouts/WSStatusBarNotification/Miscellaneous/Info.plist'. (in target 'JDStatusBarNotification')

ดังนั้นหากเป็นกรณีของคุณไปที่เป้าหมายของคุณ:

  1. สร้างเฟส
  2. คัดลอกทรัพยากรบันเดิล
  3. info.plistลบ

32
ไฟล์ info.plist ไม่ได้อยู่ในทรัพยากรบันเดิลสำเนา แต่ยังคงได้รับข้อผิดพลาดเดียวกัน
bunty kumar

การลบ Info.plist ที่มากเกินไปออกจากขั้นตอนการสร้างรีซอร์สบันเดิลการคัดลอกแก้ไขได้สำหรับฉัน อย่างไรก็ตามคำเตือนของฉันแตกต่างกันเพราะ Info.plist ของเป้าหมายที่แตกต่างกันโดยไม่ได้ตั้งใจ แต่ภายในโครงการเดียวกันนั้นถูกเพิ่มเข้าในขั้นตอนการสร้าง Copy Bundle Resources คำเตือนคือ: "warning: ไฟล์เอาต์พุตซ้ำ '... MyApp.app/Info.plist' ในภารกิจ: ProcessInfoPlistFile" และนำไปสู่ข้อผิดพลาดเช่นเดียวกับในคำถามเดิม: "ข้อผิดพลาด: คำสั่งหลายคำสั่งผลิต '... MyApp.app/Info.plist'"
Martin Polak

ในกรณีของฉันมันคือไฟล์ "LICENSE" - เมื่อฉันลบมันแล้วปัญหาได้รับการแก้ไขดังนั้นฉันเดาว่าปัญหานั้นเป็นเรื่องทั่วไปมากกว่า "plist" ดูเหมือนว่าจะพบบ่อยกว่า
vir us

37

หากคุณใช้ CocoaPods คุณอาจต้องการลองยกเลิกการรวมฝักและติดตั้งอีกครั้ง มันใช้งานได้สำหรับฉัน

pod deintegrate

pod install


ใช่ปัญหาของฉันเกิดจากแพคเกจพอดและสิ่งนี้เท่านั้นที่แก้ไขปัญหาได้! ขอบคุณ
CodeBrew

@Ming Chu ขอบคุณ
N. Der

30

ลองใช้งานได้:

ใน Xcode ไปที่การตั้งค่าไฟล์ -> โครงการ / พื้นที่ทำงาน

เปลี่ยนระบบ build เป็นระบบ Legacy Build


2
ในกรณีนี้ Xcode กำลังตั้งค่าสถานะปัญหาในโครงการดังนั้นการเปลี่ยนกลับเป็นระบบการสร้างแบบดั้งเดิมจะเป็นการซ่อนไว้สำหรับตอนนี้ การรายงานของ Xcode เกี่ยวกับปัญหาประเภทนี้เป็นไปโดยเจตนาและเป็นการดีที่สุดที่จะแก้ไขปัญหา สำหรับข้อมูลเพิ่มเติมโปรดดูที่help.apple.com/xcode/mac/10.0/#/dev14a2fd0c0
Rick Ballard

27

อ่านคำตอบนี้หากข้อความแสดงข้อผิดพลาดอ้างอิงไฟล์ Core Data

เรื่องย่อ: คุณอาจมีทั้งคลาสไฟล์อ็อบเจ็กต์ข้อมูลที่จัดการโดย Core และสร้างด้วยตนเอง

คำตอบนี้นำไปใช้ถ้าบรรทัดแรกของข้อผิดพลาดหมายถึงฟู + CoreDataProperties.oหรือฟู + CoreDataClass.oไฟล์ ตัวอย่าง:

error: Multiple commands produce '/Users/me/Library/Developer/Xcode/DerivedData/MyApp-uebslaqdwgldkjemijpdqmizgyzc/Build/Intermediates.noindex/ MyApp /Debug-iphonesimulator/ MyApp.build/Objects-normal/x86_64/Foo+CoreDataProperties.o':

1) Target ' MyApp ' (project ' MyApp ') has compile command for Swift source files

2) Target ' MyApp ' (project ' MyApp ') has compile command for Swift source files

สาเหตุที่แท้จริงสามารถมองเห็นได้โดยการขยายส่วนไฟล์ที่มาคอมไพล์ Swiftของ Build Transcript ตัวอย่างเช่น:

<unknown>:0: error: filename "Address+CoreDataClass.swift" used twice: '/Users/myUserName/Projects/Jnky/Foo+CoreDataProperties' and '/Users/jk/myUserName/Developer/Xcode/DerivedData/MyApp-uebslaqdwgldkjemijpdqmizgyzc/Build/Intermediates.noindex/MyApp.build/Debug/MyApp.build/DerivedSources/CoreDataGenerated/Jnky/Foo+CoreDataProperties.swift'

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

แฟ้มที่สองคือไฟล์ที่มีชื่อเดียวกัน แต่ที่ถูกฝังอยู่ใน DerivedDataXcode ไฟล์นี้สร้างขึ้นโดยอัตโนมัติโดย Xcode ในทุกบิลด์หากไฟล์ data model ( .xcdatamodeld) รวมอยู่ในเฟสการคอมไพล์ Sourcesของเป้าหมาย คุณสมบัตินี้ถูกเพิ่มเข้ามาใน Xcode 9 หรือมากกว่านั้น ศูนย์หนึ่งหรือสองไฟล์ถูกสร้างขึ้นสำหรับแต่ละเอนทิตี้ / คลาสขึ้นอยู่กับการตั้งค่าของป๊อปอัปCodegen ป๊อปอัพนั้นอยู่ในตัวตรวจสอบตัวแบบข้อมูลเมื่อคุณเลือกเอนทิตีในขณะที่แก้ไขตัวแบบข้อมูลของคุณ ...

สกรีนช็อตของ Data Model Inspector

การตั้งค่าคือ:

  • แมนนวล / ไม่มีไม่มีไฟล์ที่สร้างขึ้น
  • หมวดหมู่ / นามสกุลหนึ่งไฟล์Foo + CoreDataProperties.mหรือ. swiftถูกสร้างขึ้นซึ่งมีหมวดหมู่ Objective-C หรือส่วนขยาย Swift
  • คำจำกัดความของคลาสไฟล์ประเภท / นามสกุลเดียวกันถูกสร้างขึ้นและนอกจากนี้ยังสร้างFoo + CoreDataClass.mหรือ. swiftซึ่งมีการประกาศและคำจำกัดความของคลาส

ดังนั้นคุณจะเห็นปัญหาเกิดขึ้นเมื่อนักพัฒนาซอฟต์แวร์ (เช่นฉัน) ที่คุ้นเคยกับ Xcode รุ่นเก่าเริ่มโครงการใน Xcode รุ่นใหม่ เราคิดว่าเราต้องใช้รายการเมนูCreate Managed Object Subclassซึ่งเราทำเพื่อสร้างไฟล์ที่เราเห็นใน Project Navigator โดยไม่ทราบว่าการตั้งค่าของเราในป๊อปอัปCodegenทำให้ Xcode สร้างไฟล์ซ้ำกันซึ่ง Apple "ชาญฉลาด" ไม่แสดงใน Project Navigator เพราะพวกเขาไม่เชื่อถือนักพัฒนาที่จะอ่านและฟังความคิดเห็นในส่วนหัว// ไฟล์นี้ถูกสร้างขึ้นโดยอัตโนมัติและไม่ควรแก้ไข

โซลูชันที่ 1 - ใช้วิธีเก่า

คุณสามารถปิดการใช้งานCodegenอัตโนมัติทั้งหมดสำหรับรูปแบบข้อมูลด้วยการตั้งค่าเดียว:

  • เปิดปัญหาของเป้าหมายเฟสรูปร่าง (ในโครงการ Navigatorเลือกโครงการแล้วในรายการของเป้าหมายที่ปรากฏขึ้นให้เลือกเป้าหมายปัญหาแล้วแท็บขั้นตอนการสร้าง )
  • ขยายรายการCompile Sourcesและค้นหาโมเดลข้อมูลปัญหา ( .xcdatamodeldไฟล์)
  • ลบออกจากรายการรวบรวม
  • ให้แน่ใจว่ารูปแบบข้อมูลที่ถูกรวมอยู่ในการคัดลอก Bundle ทรัพยากรรายการ

โซลูชันที่ 2 - Core Data Magic สำหรับผู้เริ่มต้น

ที่นี่คุณจะไปในทางที่ใหม่กว่า

  • ปล่อยให้โมเดลข้อมูลของคุณอยู่ในแหล่งรวบรวมนั้น
  • ในแต่ละ Entity สารวัตรในรูปแบบข้อมูลของคุณตั้งโค๊ดเจนให้กับชั้นความหมาย
  • ในการโครงการนาวิเกเตอร์, ลบและถังขยะใด ๆฟู + CoreDataClassไฟล์และเปลี่ยนชื่อใด ๆฟู + CoreDataProperties.mหรือ.swiftไฟล์ไปยังสิ่งที่ต้องการฟู + MyProperties
  • ในแต่ละฟู + MyProperties.mหรือ.swiftไฟล์ถ้ามีคุณสมบัติที่สร้างขึ้นโดย Xcode ลบคุณสมบัติเหล่านี้เพราะพวกเขาจะอยู่ในไฟล์ที่ซ่อนที่สร้างขึ้นโดยโค๊ดเจน

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

โซลูชันที่ 3 - สำหรับแอพที่ใช้งานจริงส่วนใหญ่

แต่โซลูชัน 2 ไม่ดีถ้าคุณต้องการเพิ่มคุณสมบัติที่ไม่มีการจัดการ (Objective-C ไม่อนุญาตให้เพิ่มคุณสมบัติในหมวดหมู่และ Swift ไม่อนุญาตให้เพิ่มคุณสมบัติที่เก็บไว้ในส่วนขยาย) ดังนั้นในแอปที่ใช้งานจริงส่วนใหญ่คุณอาจต้องการไปครึ่งทางระหว่างโซลูชัน 1 และ 2 ...

  • ปล่อยให้โมเดลข้อมูลของคุณอยู่ในรายการรวบรวมแหล่งที่มา
  • ในแต่ละ Entity สารวัตรในรูปแบบข้อมูลของคุณตั้งโค๊ดเจนจะCategory / ขยาย
  • ใน Project Navigator ให้ลบและทิ้งไฟล์Foo + CoreDataClass.mหรือ. swiftใด ๆและเพื่อลดความสับสนในอนาคตให้เปลี่ยนชื่อไฟล์Foo + CoreDataProperties.mหรือ. swiftเป็นFoo.mหรือ. swift
  • ตรวจสอบให้แน่ใจว่าไฟล์Foo.mหรือ. swiftแต่ละไฟล์มีข้อกำหนดคลาสซึ่งคุณสามารถเพิ่มคุณสมบัติที่ไม่ได้รับการจัดการของคุณเองได้

(รับทราบถึงคำตอบโดย Positron คำตอบของฉันที่นี่อธิบายว่าทำไมคำตอบของ Positron (โซลูชัน 1 ของฉัน) ทำงานได้และเพิ่มโซลูชัน 2 และโซลูชัน 3)


สิ่งนี้ใช้ได้สำหรับฉัน คุณเจ๋งมาก!
Srujan Simha

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

21

ทางเลือกหนึ่งที่แก้ไขปัญหาของฉันคือการเปลี่ยนระบบการสร้างเป็นระบบการสร้างแบบเดิม โปรดทำตามขั้นตอนต่อไปนี้ใน Xcode 10+

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

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

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


1
ช่วยชีวิตฉันไว้. ทำงานได้อย่างสมบูรณ์แบบ
Reinaldo

2
คำตอบนี้ได้รับการแก้ไขเพียงปัญหาเดียว 12 ปัญหาที่ฉันพบใน Xcode กับ React Native ขอบคุณ!
Chris Gilardi


18

ฉันมีปัญหาเดียวกันฉันมีแอพตัวช่วยมากกว่าหนึ่งตัวใน App หลักและคัดลอกสิ่งนี้ในทรัพยากร ในกรณีของฉันแก้ไขเป็น: -

1) เป้าหมาย -> 2) สร้างเฟส 2) คัดลอกไฟล์ (n รายการ) 3) ลบไฟล์คัดลอก

แอพ Helper คัดลอกโดยอัตโนมัติใน Xcode 10.0

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


3
คัดลอกไฟล์ + คัดลอกทรัพยากรบันเดิลช่วยการลบ
Oleksandr

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

16

ไม่มีวิธีแก้ปัญหาใดที่ฉันเสนอให้ที่นี่ โดยเฉพาะอย่างยิ่งเนื่องจาก CocoaPods ก่อนหน้านี้ฉันใช้ Cocoapods 1.3.1 เพียงแค่อัปเกรดเป็น 1.5.3 ไม่สามารถแก้ไขปัญหาได้ทันที

ขั้นตอนที่ฉันติดตามคือ:

  1. ลบ Podfile.lock
  2. ลบไดเรกทอรี Pods
  3. ลบข้อมูลที่ได้รับ & ล้าง
  4. ออกจาก Xcode
  5. อัปเดต CocoaPods เป็น 1.5.3
  6. วิ่ง pod install
  7. เปิดพื้นที่ทำงานและสร้าง

5
การอัปเดต CocoaPods เป็น 1.5.3 (sudo gem install cocoapods) และการทำงาน (ติดตั้ง pod) ก็เพียงพอที่จะทำให้มันทำงานได้สำหรับฉัน ขอบคุณ!
mikemike396

ฉันทำตามคำแนะนำบางอย่างด้านบน แต่นี่เป็นสิ่งเดียวที่แก้ไขได้สำหรับฉัน ขอบคุณ
Almeida

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

1
สิ่งนี้ใช้ได้สำหรับฉัน แต่ฉันต้องเพิ่มinstall! 'cocoapods', :disable_input_output_paths => trueที่ด้านบนสุดของ podfile ด้วย นอกจากนี้หากคุณไม่ต้องการอัปเดตพ็อด - อย่าลบ podfile.lock และพ็อดทั้งหมดจะถูกติดตั้งในเวอร์ชันปัจจุบัน
DoesData

11

ก่อนที่ฉันจะเริ่มทราบว่าโครงการของฉันใช้คาร์เธจเป็นผู้จัดการการพึ่งพา

ไม่มีคำตอบที่มีอยู่ที่นี่แก้ไขปัญหาของฉัน สิ่งที่แก้ไขปัญหาสำหรับฉันคือต่อไปนี้

ครั้งแรกฉันสังเกตเห็นว่าข้อผิดพลาดในการสร้างชี้ให้เห็นกรอบหนึ่งโดยเฉพาะ ต่อไปฉันกรองเป้าหมายของแอป> สร้างเฟสสำหรับกรอบงานนั้น ฉันสังเกตว่าเฟรมเวิร์กนั้นมีอยู่ใน "Link Binary With Libraries" และ "Embed Frameworks" การสังเกตว่าไม่มีกรอบงานใด ๆ ที่แสดงรายการภายใต้ "Embed Frameworks" ถูกจัดการโดย Carthage ฉันได้ลบเฟรมดังกล่าวออกจาก "Embed Frameworks" จากนั้นฉันก็สร้างโครงการขึ้นมาใหม่และทุกอย่างทำงานได้ดีรวมถึงฟังก์ชั่นที่เปิดใช้งานโดยกรอบคำถาม


1
ฉันใช้ PODS การลบทุกอย่างออกจาก Embed Frameworks ใช้งานได้ ฉันทำความสะอาดและสร้างใหม่โดยไม่มีข้อผิดพลาด โซลูชันเดิมยังใช้งานได้ แต่ไม่สามารถแก้ไขปัญหาได้ในมือ (สำหรับใครก็ตามที่อ่านข้อความนี้) ฉันใช้ xcode 10.2, cocoapods-1.6.1
นาดีนโรส

1
ฉันใช้คาร์เธจและสิ่งนี้ทำให้ฉันคงที่!
Devin B

ฉันยังใช้ CocoaPods Framework เชื่อมต่อกันเป็น Pod พัฒนา "Embed Frameworks" ว่างเปล่าและยังได้รับปัญหานี้
Luten

11

ขั้นตอน:

  1. ไปที่ไฟล์ Xcode
  2. คลิกเพื่อตั้งค่าพื้นที่ทำงาน
  3. สร้างระบบเลือกเป็นระบบสร้างแบบดั้งเดิม

4
ในกรณีนี้ Xcode กำลังตั้งค่าสถานะปัญหาในโครงการดังนั้นการเปลี่ยนกลับเป็นระบบการสร้างแบบดั้งเดิมจะเป็นการซ่อนไว้สำหรับตอนนี้ การรายงานของ Xcode เกี่ยวกับปัญหาประเภทนี้เป็นไปโดยเจตนาและเป็นการดีที่สุดที่จะแก้ไขปัญหา สำหรับข้อมูลเพิ่มเติมโปรดดูที่help.apple.com/xcode/mac/10.0/#/dev14a2fd0c0
Rick Ballard

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

10

ลองใช้ตัวเลือกทั้งหมดนี้ทุกคนใน 3 ตัวเลือกนี้จะทำงานให้คุณได้อย่างแน่นอน

Option 1: Remove all files from

เป้าหมาย >> สร้างเฟส >> รวบรวมแหล่งที่มา

เป้าหมาย >> สร้างเฟส >> คัดลอกทรัพยากรชุดข้อมูล

Option 2: Change the build system

Xcode-> File-> Project Settings-> Build System -> Legacy Build System

Option 3: remove and update existing pod

ทำความสะอาดพ็อดแคช PromisesObjC ทำความสะอาด
พ็อดแคช PromisesSwift
cd [your_project_dir]
rm -rf Pods /
rm Podfile.lock การ
อัปเดตพ็อด

I hope this will help you, Happy coding :-)

-1 ไม่มันไม่ทำงาน "แน่นอน" จุดประสงค์ในการลบแหล่งรวบรวมและคัดลอกทรัพยากรบันเดิลคืออะไร! โครงการจะไม่ทำงานหากไม่มีการรวบรวมรหัสและทรัพยากร
Luten

9

ดังนั้นปัญหาที่ฉันมีคือฉันได้รวม Info.plist ไว้ในการตั้งค่าโครงการโดยไม่ตั้งใจ -> สร้างเฟส -> คัดลอกทรัพยากรชุดข้อมูลสำหรับเป้าหมายของฉัน


นี่เป็นคำตอบที่แม่นยำสำหรับฉันเช่นกันเนื่องจากข้อผิดพลาดนี้เกิดขึ้นขณะพยายามเรียกใช้ tflite_camera_example ใน Xcode 10
zai chang

9

ปัญหานี้เกิดขึ้นกับฉันหลังจากเพิ่มส่วนที่สองของชุดผ้าของ SDK ไปยังแอป

สิ่งที่เกิดขึ้นจริงก็คือว่า GoogleUtilies Framework ถูกเพิ่มเข้าไปในโครงการ Pods สองครั้ง

สองรายการสำหรับ GoogleUtilities.framework

สิ่งนี้น่าจะใช้ได้ก่อน Xcode 10 แต่ Xcode 10 จะบ่นว่าไฟล์มีสองการกระทำที่ขัดแย้งกับมัน (ในกรณีนี้คือการคัดลอก)

การลบเฟรมเวิร์กที่สองนั้นปลอดภัย


เหมือนกันสำหรับฉัน แต่การใช้คาร์เธจลากโครงการ. ทั้งหมดไปยังโครงการห้องสมุด
Ronaldo Albertini

คุณได้แก้ไข @Damo
Harikarthick K

ฉันกำลังเผชิญกับปัญหานี้คุณช่วยบอกฉันได้ไหมว่าจะแก้ไขปัญหานี้อย่างไรโดยไม่เปลี่ยนมรดก
Harikarthick K

9

นี่เป็นอีกวิธีการแก้ปัญหาการทำงาน: (หากคุณใช้ Pod แบบกำหนดเอง)

  • เลือก "พ็อด" จากแถบด้านข้างเป็นไฮไลต์ในภาพหน้าจอ
  • คลิกที่ Build Phase ขยายส่วน "ส่วนหัว" มี 3 ตัวเลือกสาธารณะส่วนตัวโครงการ
  • ขยายสาธารณะและตรวจสอบว่ามีไฟล์ซ้ำกัน ย้ายมัน. ทำ !!

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


คำตอบนี้ควรถูกมองว่าเป็นทางออกในกรณีที่ฝัก (กำหนดเอง) ก่อให้เกิดปัญหา!
MkaysWork

นอกจากนี้คุณสามารถลบไฟล์ * .plist ใด ๆ ได้จากที่นี่ ดูเหมือนว่าจะทำงานกับพ็อดเองได้
Amit Ahire

8

ฉันมีMultiple commands produceคำเตือนมากมาย - ไม่ จำกัด เฉพาะการคัดลอกข้อมูลซ้ำในเป้าหมายเดียว รวมถึงทรัพยากรที่แปลเป็นภาษาท้องถิ่นและไฟล์สตริงส่วนหัว ฯลฯ

การแก้ไข: ลบการทำซ้ำทั้งหมดในการเป็นสมาชิกเป้าหมาย


ฉันมีข้อผิดพลาดนี้เพราะฉันมีเป้าหมายการเฝ้าดูด้วยไฟล์ infoplist.strings ของตัวเองซึ่งถูกคัดลอกไปยังไดเรกทอรีเดียวกันกับไฟล์ infoplist.strings ของแอปหลัก พวกเขาทั้งคู่จะอยู่ในที่เดียวกันเมื่อสร้างขึ้น
Lyck

7

ฉันมีปัญหานี้เมื่อฉันมีไฟล์ที่มีชื่อเดียวกันในสองเป้าหมายที่แตกต่างกัน ด้วยเหตุผลบางอย่างหนึ่งในไฟล์เหล่านั้นฉันมีส่วนหนึ่งของเป้าหมายทั้งสอง โดยพื้นฐานแล้วฉันมีสองไฟล์ และทั้งสองไฟล์นั้นเป็นของหนึ่งเป้าหมาย

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


7

ฉันใช้ Carthage และ Xcode 10

โซลูชันของฉันคือ -> โครงการ -> เป้าหมาย -> ทั่วไป ->

ลบ Frameworks ที่เพิ่มด้วย Carthage จาก "Embedded Binaries"

โดยปกติคุณต้องเพิ่มสคริปต์ใน Build Phases เพื่อตัดสถาปัตยกรรมสำหรับ app store

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

หมายเหตุ: หากไม่ได้ตั้งค่า -> ในการตั้งค่าการสร้าง -> เส้นทางการค้นหา -> เส้นทางการค้นหาเฟรมเวิร์ก -> กำหนดเส้นทางไปยังเฟรมเวิร์ก u ที่เพิ่มด้วย Carthage .... เช่น "$ (PROJECT_DIR) / คาร์เธจ / รูปร่าง / iOS"


7

เป็นที่น่าสังเกตว่าข้อผิดพลาดนี้สามารถเกิดขึ้นได้หลังจากรุ่น CoreData อัตโนมัติซึ่งไม่มีการตั้งค่า Codegen เป็น Manual / None

หากต้องการแก้ไขสิ่งนี้ใน Xcode 10 ให้ดับเบิลคลิกที่ไฟล์ xcdatamodeId ของคุณแล้วเลือกแต่ละเอนทิตีของคุณและตั้งค่า Codegen เป็น Manual / None ภายใต้ Class ใน Data Model Inspector ของคุณ


ใช่ และทำ "Clean Build Folder"
เดิร์

6

มีปัญหาที่คล้ายกัน แต่มีไฟล์. swiftdoc

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


6

การย้ายไปที่ Xcode 10 ข้อผิดพลาดเช่น

error: Multiple commands produce '/Users/uesr/Library/Developer/Xcode/DerivedData/OptimalLive-fxatvygbofczeyhjsawtebkimvwx/Build/Products/Debug-iphoneos/OptimalLive.app/Info.plist':

สามารถแก้ไขได้ดังต่อไปนี้:

Xcode->File->Workspace/Project Settings-> Build System -> Legacy Build Systemไปที่


2
ในกรณีนี้ Xcode กำลังตั้งค่าสถานะปัญหาในโครงการดังนั้นการเปลี่ยนกลับเป็นระบบการสร้างแบบดั้งเดิมจะเป็นการซ่อนไว้สำหรับตอนนี้ การรายงานของ Xcode เกี่ยวกับปัญหาประเภทนี้เป็นไปโดยเจตนาและเป็นการดีที่สุดที่จะแก้ไขปัญหา สำหรับข้อมูลเพิ่มเติมโปรดดูที่help.apple.com/xcode/mac/10.0/#/dev14a2fd0c0
Rick Ballard

อันนี้ทำเพื่อฉันคุณคุณเป็นคน
ใจดี

6

ไปในเฟสการสร้างโครงการและลบ info.plist จากแหล่งรวบรวม มันจะลบปัญหานั้นและโครงการจะเปิดใช้งานอีกครั้ง

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


6

หนึ่งใน CocoaPods ของฉันถูกแก้ไขและทำให้เกิดปัญหา ทำการอัปเดตพ็อดและทำงานได้ดี

ฉันเชื่อว่าอาจเป็น LivePerson SDK


สำหรับฉันฉันต้องทำ 'ติดตั้ง pod'
Pnar Sbi Wer

6

ปัญหาของฉันอยู่ใน Xcode 10 ที่ทำงานในโมฮาวีและในขณะที่พยายามเรียกใช้การทดสอบหน่วยที่ฉันเขียนก่อนที่จะอัปเดตเป็น XCode 10

ในกรณีของฉันฉันมีปัญหานี้ในขณะที่เรียกใช้TestTargetเป้าหมายของฉัน เพื่อแก้ไขฉันต้อง:

  • ลบหนึ่งในการพึ่งพาเป้าหมาย (ในTestTarget > build phases > Target Dependencies)

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

และนั่นขัดแย้งกับสิ่งที่กล่าวถึงในBuild Release Notes System สำหรับ Xcode 10 ที่นี่ :

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

ใหม่อัปเดตหลังจากฉันอัปเดตจาก Xcode 10.1 เป็น 10.2

ปัญหาที่คล้ายกันปรากฏขึ้นอีกครั้งหลังจากฉันอัปเดตเป็น Xcode 10.2 ฉันมีเป้าหมายหลายรายการในโครงการ: Target1และTarget2และฉันแก้ไขปัญหานี้โดย:

  • การนำทางไปยังEdit Scheme > Buildและ
  • ลบเป้าหมายอย่างใดอย่างหนึ่งออกจากการสร้าง: ยกเลิกการทำเครื่องหมายที่ช่องด้านTarget1ล่างTestเนื่องจากฉันรู้ว่าTarget2นำเข้าTarget1

นอกจากนี้เมื่อต้องการทราบที่นี่Target2ช่องทำเครื่องหมายของจะยังคงอยู่ภายใต้การตรวจสอบTest


6
error: Multiple commands produce '/Users/KunshtechNew/Library/Developer/Xcode/DerivedData/chat21-fgjaqebxysmggqfdnetggdbzfqih/Build/Products/Debug-iphonesimulator/Chat21.app/Base.lproj/Chat.strings':
1) Target 'chat21' (project 'chat21') has copy command from '/Users/KunshtechNew/Downloads/chat21-ios-demo-master/TildeskWidget/Chat21Core/Base.lproj/Chat.strings' to '/Users/KunshtechNew/Library/Developer/Xcode/DerivedData/chat21-fgjaqebxysmggqfdnetggdbzfqih/Build/Products/Debug-iphonesimulator/Chat21.app/Base.lproj/Chat.strings'
2) Target 'chat21' (project 'chat21') has copy command from '/Users/KunshtechNew/Downloads/chat21-ios-sdk-master 2/Chat21Core/Base.lproj/Chat.strings' to '/Users/KunshtechNew/Library/Developer/Xcode/DerivedData/chat21-fgjaqebxysmggqfdnetggdbzfqih/Build/Products/Debug-iphonesimulator/Chat21.app/Base.lproj/Chat.strings'

อาจมีวิธีแก้ไขปัญหาที่แตกต่างกัน 2 วิธีเพื่อกำจัดปัญหานี้:

โซลูชันที่ 1

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

โซลูชันที่ 2

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

  • pod deintegrate จากโครงการ
  • ลบไฟล์พื้นที่ทำงานและไฟล์ pod.lock ออกจากโฟลเดอร์โครงการ
  • อีกครั้งpod install และพยายามสร้างโครงการ

หวังว่ามันจะใช้ได้ผลสำหรับคุณ ..

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