ไม่พบไลบรารี่เมื่อใช้ CocoaPods กับการทดสอบลอจิก iOS


148

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

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

ฉันสามารถรันการทดสอบหน่วยเทียบกับคลาสที่ไม่ได้ใช้ไลบรารี CocoaPods ได้โดยไม่มีปัญหา

ฉันจะทำผิดหรือเปล่า? ฉันควรทำอย่างอื่นเพื่อให้คอมไพเลอร์ดูไลบรารี่ CocoaPods หรือไม่?

คำตอบ:


224

CocoaPods 1.0 ได้เปลี่ยนไวยากรณ์สำหรับเรื่องนี้ ตอนนี้ดูเหมือนว่านี้:

def shared_pods
    pod 'SSKeychain', '~> 0.1.4'
    ...
end

target 'Sail' do
    shared_pods
end

target 'Sail-iOS' do
    shared_pods
end

Pre CocoaPods 1.0 คำตอบ

สิ่งที่คุณต้องการใช้งานจากlink_with Podfileสิ่งที่ต้องการ:

link_with 'MainTarget', 'MainTargetTests'

จากนั้นเรียกใช้pod installอีกครั้ง


7
นี่แก้ไขปัญหาให้ฉันทันที
mttrb

9
ฉันได้รับข้อผิดพลาดแปลก ๆ นี้เมื่อทำการทดสอบการisSubclassOfClass:โทรกลับNOจะส่งคืนเมื่อYESใด เหตุผลเดียวที่ฉันสามารถอธิบายได้ว่าสิ่งนี้ขึ้นอยู่กับการพึ่งพาเชื่อมโยงกับหลักและเป้าหมายการทดสอบจริง ๆ และเมื่อตัวโหลดบันเดิลของเป้าหมายทดสอบโหลดบันเดิลหลักมันไม่สามารถตัดสินใจว่าจะใช้คลาสใด
fabb

4
ฉันมีปัญหาเดียวกันกับisKindOfClass:ที่กลับมาเมื่อมันควรจะกลับNO YESถ้าฉันบันทึกตัวชี้ไปยังClassวัตถุของฉันฉันกำลังทดสอบและClassชั้นเรียนที่ฉันต้องการเปรียบเทียบกับพวกเขาเป็นสองค่าที่แตกต่างกัน เห็นได้ชัดว่ารหัสของฉันจากชุดแอปใช้สัญลักษณ์ที่แตกต่างกันสำหรับชั้นเรียนกว่ารหัสจากการทดสอบหน่วยของฉัน มีใครพบวิธีการแก้ไขปัญหานี้หรือไม่?
นิโคลัสฮาร์

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

3
นี่ควรเป็นคำตอบที่ยอมรับได้เนื่องจากนี่เป็นวิธี CocoaPods อย่างเป็นทางการในการตั้งค่า Pod ที่มีเป้าหมายหลายเป้าหมาย ขอบคุณมาก Keith!
cschuff

174

ฉันพบสิ่งนี้โดยดูว่าเป้าหมายหลักของแอปของฉันได้รับการตั้งค่าจากห้องสมุด CocoaPods อย่างไร CocoaPods มีไฟล์. xcconfig ชื่อ Pods.xcconfig ไฟล์นี้มีเส้นทางการค้นหาส่วนหัวทั้งหมด

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

การกำหนดค่า Snapshot

ฉันต้องคัดลอกการตั้งค่า$(inherited)และ${PODS_HEADERS_SEARCH_PATHS}จากเป้าหมายหลักของฉันและคัดลอกไปยังเป้าหมายการทดสอบเชิงตรรกะภายใต้ Build Settings / HEADER_SEARCH_PATHS

ในที่สุดฉันต้องเพิ่ม libPods.a ใน Link Binary with Libraries บิวด์เฟสสำหรับเป้าหมายการทดสอบเชิงตรรกะของฉัน

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


ยอดเยี่ยม! ฉันใช้ MagicalRecord และ OCMockito และ OCHamcrest สำหรับการทดสอบหน่วย ด้วยการแก้ไขนี้ฉันสามารถติดตั้งได้ทั้งหมดผ่าน CocoaPods! ขอบคุณ!
Fogmeister

4
ขอบคุณสำหรับสิ่งนี้ หมายเหตุ .. ฉันไม่จำเป็นต้องเพิ่ม libPods.a ลงในทั้งโปรแกรมทดสอบและโปรแกรมหลัก สิ่งนี้ทำให้เกิดข้อผิดพลาดสัญลักษณ์ซ้ำซ้อน
Craig Bruce

สำหรับฉันฉันต้องคัดลอกการตั้งค่าการสร้าง "กำหนดโดยผู้ใช้" เส้นทางการค้นหาส่วนหัวอ้างถึง $ PODS_ROOT ซึ่งไม่ได้กำหนดไว้ในเป้าหมายการทดสอบ คุณสามารถเพิ่มได้โดยไปที่ Editor-> เพิ่มการตั้งค่าการสร้าง -> เพิ่มการตั้งค่าที่กำหนดโดยผู้ใช้จากนั้นคัดลอกค่า $ PODS_ROOT จากเป้าหมายหลัก
Shinigami

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

ใช่ใช่ใช่! ก่อนคำตอบนี้ฉันต้องลบเป้าหมายการทดสอบออกจากโครงการของฉัน! Thanks man :)
Josip B.

53

มีวิธีแก้ปัญหาที่ฉันพบที่นี่หน่วยทดสอบด้วย CocoaPods :

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

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


ถ้ามีการอ้างอิงเฉพาะสำหรับการทดสอบเช่นSpectaนั้นคุณต้องการเชื่อมโยงกับโครงการทดสอบ แต่ไม่ใช่กับโครงการหลัก : S
fatuhoku

สิ่งนี้ใช้ได้ผลและไม่ต้องการการเปลี่ยนแปลงใด ๆ กับการกำหนดค่าหรือการตั้งค่าพ็อด ... โซลูชันที่ยอดเยี่ยม
ริชาร์ด

1
แม้ว่าวิธีนี้อาจสร้างข้อผิดพลาด: Class Foo is implemented in both MyApp and MyAppTestCase. One of the two will be used. Which one is undefined. สิ่งนี้น่าจะเกิดจากบั๊กใน Cocoapods; ดูคำตอบ @JRV ด้านล่าง
ริชาร์ด

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

ฉันได้นำเข้า Estimote SDK ด้วยตนเองโดยการลากและวางฉันไม่ได้รับพ็อด วิธีแก้ปัญหานี้
Guru Teja

18

ฉันเห็นด้วยกับคำตอบอื่น ๆ ที่บอกว่ามีความจำเป็นที่จะต้องมีห้องสมุดที่เชื่อมโยงกับเป้าหมายการทดสอบ อย่างไรก็ตามไม่มีคำแนะนำใด ๆ ที่ช่วยฉันได้ @fabb เขียนในความคิดเห็น: "เมื่อทำการทดสอบisSubclassOfClass:โทรกลับไม่ใช่ที่พวกเขาควรกลับ YES เหตุผลเดียวที่ฉันสามารถอธิบายได้นี้คือการอ้างอิงได้รับการเชื่อมโยงจริง ๆ ทั้งหลักและเป้าหมายการทดสอบและเมื่อมัดทดสอบเป้าหมาย ตัวโหลดโหลดบันเดิลหลักไม่สามารถตัดสินใจว่าจะใช้คลาสใด " ฉันพบปัญหาเดียวกันกับคำแนะนำก่อนหน้าทั้งหมดในชุดข้อความนี้

ทางออกที่ฉันได้ทำงานคืออัปเดต Podfile ของฉันเพื่อกำหนด Pods เฉพาะสำหรับเป้าหมายหลักและเป้าหมายการทดสอบของฉัน:

target 'MyTarget' do
   pod 'AFNetworking', '~> 2.5.0'
   pod 'Mantle', '~> 1.5'
end

target 'MyTargetTests' do
   pod 'OCMockito', '~> 1.3.1'
end

มันเป็นสิ่งที่จำเป็นในการระบุ Pod สำหรับเป้าหมายการทดสอบของฉันแม้ว่าฉันไม่ได้ใช้ฝักทดสอบที่เฉพาะเจาะจงใด ๆ มิฉะนั้น CocoaPods จะไม่แทรกตรรกะการเชื่อมโยงที่จำเป็นในโครงการของฉัน

ลิงค์นี้เป็นสิ่งที่ช่วยให้ฉันได้ข้อสรุปนี้


1
ขอบคุณสำหรับลิงค์ไปยังปัญหา CocoaPods - ที่ช่วยฉันแก้ปัญหาของฉัน!
karlbecker_com

ใช่!!!! ปัญหานี้ได้รับการรบกวนฉัน นี่เป็นคำตอบเดียวที่สมเหตุสมผลที่ฉันเจอ
DonnaLea

มีวิธีที่ดีกว่าในการจัดการสิ่งนี้ภายใต้ 1.x: stackoverflow.com/a/40866889/2799670
Darren Black

6

ฉันเพิ่ม:exclusive => trueเพื่อหลีกเลี่ยงข้อผิดพลาดสัญลักษณ์ซ้ำในเป้าหมายการทดสอบแอปพลิเคชัน

target 'myProjectTests', :exclusive => true do
   pod 'OCMock', :head
   pod 'XCTAsyncTestCase', :git => 'https://github.com/iheartradio/xctest-additions.git'
end

link_with 'myProject', 'myProjectTests'

เมื่อฉันเปลี่ยนเป้าหมายการทดสอบแอปพลิเคชันเป็นหน่วยทดสอบลอจิกหนึ่งข้อผิดพลาด linker เกิดขึ้น หลังจากที่ฉันลบ:exclusive => trueทุกอย่างทำงานได้อีกครั้ง

target 'myProjectTests', do
   pod 'OCMock', :head
   pod 'XCTAsyncTestCase', :git => 'https://github.com/iheartradio/xctest-additions.git'
end

link_with 'myProject', 'myProjectTests'

:exclusive => trueระบุว่าทุกอย่างภายนอกdo...endไม่ควรเชื่อมโยงmyProjectTestsซึ่งมีความเหมาะสมในเป้าหมายการทดสอบแอปพลิเคชัน แต่จะทำให้เกิดข้อผิดพลาดของตัวเชื่อมโยงในเป้าหมายการทดสอบเชิงตรรกะ


พิเศษเป็นทางออกสำหรับฉันดังที่แสดงในคำตอบของ kylef เกี่ยวกับปัญหา CocoaPods นี้ซึ่งพบได้จากคำตอบของ JRV สำหรับคำถามนี้!
karlbecker_com

1
ใช่ทุกคนควรอ่านปัญหานั้นใน github ที่ลิงก์โดย @karlbecker_com ดูเหมือนว่านี่เป็นข้อ จำกัด ของ cocoapod ที่ใช้เวลานาน ตามการสนทนานั้น link_with ไม่จำเป็น เพียงเพิ่มเป้าหมายการทดสอบและใช้งาน: เอกสิทธิ์ หากเป้าหมายการทดสอบของคุณไม่ต้องการพ็อดใด ๆ ให้เพิ่มหนึ่งมิฉะนั้น cocoapods จะไม่ประมวลผล
kball

@kball อันไหนไม่ต้องการ link_with? การทดสอบแอปพลิเคชันหรือการทดสอบหน่วยตรรกะ?
Hai Feng Kao

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

6

คุณสามารถใช้ link_with ตามโซลูชัน @Keith Smiley

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

def import_pods
    pod 'SSKeychain'
end

target 'MyProjectTests', :exclusive => true do
  import_pods
end

target 'MyProject', :exclusive => true do
  import_pods
  pod 'Typhoon'
end

ในตัวอย่างด้านบนฉันเพิ่ม 'SSKeychain' ไปยังเป้าหมายทั้งสองและ 'Typhoon' ไปยังเป้าหมาย 'MyProject' เท่านั้น


5

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

target "MyApp" do  
    pod 'GRMustache', '~> 7.0.2'
end

target "MyAppTests" do
    pod 'GRMustache', '~> 7.0.2'
end

และเนื่องจากฉันใช้ swift ฉันจึงต้องกำหนดค่าเป้าหมายการทดสอบเพื่อรวมMyApp-Bridging-Header.hไฟล์ (ในกลุ่ม Swift Compiler ภายใต้แท็บ Build Settings)


3
ระวัง - นี่จะช่วยเพิ่มเวลาสร้างของคุณเป็นจำนวนมากในขณะที่คุณเพิ่มฝักเพิ่มขึ้นเรื่อย ๆ !
fatuhoku

@fatuhoku ไม่ทราบว่า คุณสามารถให้ข้อมูลเชิงลึกเกี่ยวกับสาเหตุที่เพิ่มเวลาในการสร้างได้หรือไม่?
Qw4z1

2
การกล่าวถึงพ็อดแต่ละครั้งเป็นเป้าหมายในPodsโครงการของคุณ โดยการพูดถึงพ็อดของคุณสองครั้ง (หนึ่งครั้งสำหรับการทดสอบและอีกหนึ่งครั้งสำหรับแอป) คุณจะมีเป้าหมายสองชุด สิ่งนี้มีผลอย่างมากต่อการกำหนดค่าที่pod installต้องทำ สิ่งนี้จะไม่เป็นปัญหาจนกว่าคุณจะมี> 15 ฝักดังนั้นอย่ากังวลมากจนเกินไป
fatuhoku

1
นี่เป็นทางออกเดียวที่ใช้ได้สำหรับฉันกับ Cocoapods 1.0
William Entriken

ตั้งแต่วันที่ 1.x นี่เป็นวิธีการอย่างเป็นทางการสำหรับการทดสอบการสืบทอดการพึ่งพาแอป: stackoverflow.com/a/40866889/2799670
Darren Black

4

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

ฉันต้องลบและแทนที่พ็อดด้วยตนเองโดยทำดังนี้:

  1. ลบไลบรารีออกจาก Podfile
  2. เรียกใช้ 'พ็อดติดตั้ง' เพื่อลบไลบรารีทั้งหมด
  3. ใส่ไลบรารีกลับเข้าไปใน Podfile
  4. เรียกใช้ 'พ็อดติดตั้ง' อีกครั้ง

สิ่งนี้ควรทำให้ห้องสมุดมีปัญหากลับมาในรูปแบบดั้งเดิม


2

นอกจากนี้ยังเป็นที่น่าสังเกตว่าถ้าคุณlibPods.aเพิ่มสองครั้งคุณจะได้รับข้อผิดพลาดที่น่ารังเกียจเช่นนี้:

232 duplicate symbols for architecture i386

หากต้องการแก้ไขให้ลบการlibPods.aอ้างอิงหนึ่งรายการใน Project Explorer ของคุณ


2

ในฐานะของ CocoaPods 1.x มีวิธีใหม่ในการประกาศการขึ้นต่อกันที่ใช้ร่วมกันระหว่างเป้าหมายและเป้าหมายการทดสอบที่เกี่ยวข้อง ฉันได้ใช้โซลูชันที่ได้รับการยอมรับโดย Mark Struzinski มาถึงจุดนี้ แต่การใช้วิธีนี้ทำให้ได้คำเตือนจำนวนมากเมื่อทำการทดสอบที่:

Class SomeClass is implemented in both /Path/To/Test/Target and /Path/To/App/Target. One of the two will be used. Which one is undefined.

ด้วย CocoaPods 1.x เราสามารถประกาศเป้าหมายทดสอบของเราเป็นการสืบทอดผ่านเส้นทางการค้นหาของเป้าหมายหลักเช่น:

target 'MyApp' do
    pod 'aPod'
    pod 'anotherPod'
    project 'MyApp.xcodeproj'
end
target 'MyAppTests' do
    inherit! :search_paths
    project 'MyApp.xcodeproj'
end

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


2

ลองสิ่งนี้มันใช้งานได้สำหรับฉัน

เราจำเป็นต้องตั้งค่า Pods ในรูปแบบ

โครงการ -> ข้อมูล -> การกำหนดค่าในโครงการ Xcode (โครงการของคุณ) ควรตั้งเป็นโครงการหลัก 'Pods' สำหรับ Debug, Release (และสิ่งอื่นที่คุณมี) ดู"ไม่พบส่วนหัว - ไม่รวมพา ธ การค้นหา"

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

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


1

ฉันกำลังทำงานกับการผสานรวม POD ของ GoogleMaps กับ Objective-C บน iOS กับแอป Swift ของฉันและสำหรับฉันปัญหาคือเป้าหมายการทดสอบไม่มีการอ้างอิงถึงไฟล์ Bridge Header ( SWIFT_OBJC_BRIDGING_HEADER ) ในการตั้งค่า Build ตรวจสอบให้แน่ใจว่าทั้งแอปและทดสอบเป้าหมายของแอปชี้ไปที่การเรียก API บุคคลที่สาม (API ของแผนที่ ฯลฯ ) สามารถใช้ในการทดสอบหน่วยที่รวดเร็ว


1
ฉันมีการตั้งค่าที่คล้ายกันกับคุณ ฉันได้เพิ่มแล้วส่วนหัวของการเชื่อมโยงไปยังเป้าหมายการทดสอบ แต่ฉันได้รับข้อผิดพลาด "ไม่มีโมดูลเช่น 'GoogleMaps'" import GoogleMapsบน
Nicolas Miari

0

ไวยากรณ์ถัดไปให้ผลลัพธ์ที่ดีที่สุดสำหรับฉัน (ทดสอบภายใต้ cocoapod v.1.2.1):

https://github.com/CocoaPods/CocoaPods/issues/4626#issuecomment-210402349

 target 'App' do
    pod 'GoogleAnalytics' , '~> 3.0'
    pod 'GoogleTagManager' , '~> 3.0'

     pod 'SDWebImage', '~>3.7'
     platform :ios, '8.0'
     use_frameworks!

     target 'App Unit Tests' do
         inherit! :search_paths
     end
 end

หากไม่มีสิ่งนี้ฉันมีคำเตือนขณะทดสอบการทำงานเกี่ยวกับสัญลักษณ์ที่ซ้ำกัน

หลังจากคำเตือนนี้หายไป


0

ฉันมีปัญหาในการใช้ OpenCV ภายใต้ XCTest มันก็ให้ฉันข้อผิดพลาดของตัวเชื่อมโยงสำหรับการเรียนเช่นUndefined symbols for architecture arm64 cv::Matฉันกำลังติดตั้ง OpenCV ผ่าน CocoaPods โดยใช้pod 'OpenCV', '~> 2.0'ภายใต้เป้าหมายหลัก ไม่ว่าฉันจะพยายามวาง OpenCV ให้หนักเพียงใดภายใต้เป้าหมายการทดสอบหรือใช้งานinherit! :search_pathsไม่ได้เลย ทางออกคือการสร้างสิ่งที่abstract_targetชอบ:

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

abstract_target 'Shows' do
  pod 'RMVision', path: '../..'
  pod 'RMShared', path: '../../../RMShared'
  pod 'OpenCV', '~> 2.0'

  target 'RMVisionSample' do
    # Uncomment the next line if you're using Swift or would like to use dynamic frameworks
    # use_frameworks!

    # Pods for RMVisionSample
  end

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

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

end 

ยังมีประโยชน์คือpod deintegrate& pod cleanคำสั่งที่ช่วยในการล้างโครงการและให้แน่ใจว่าคุณเริ่มต้นใหม่เมื่อทดสอบ [sudo] gem install cocoapods-deintegrate cocoapods-cleanคุณสามารถติดตั้งทั้งสองใช้

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