ฉันใช้use_frameworks!
ใน CocoaPods Podfile
หลายครั้ง ฉันแค่สงสัยว่าทำไมเราถึงใช้มัน? ฉันไม่สามารถรับคำตอบที่ตรงไปตรงมาได้
ตัวอย่าง:
platform :ios, '8.0'
use_frameworks!
target "CityWhether" do
pod 'Alamofire'
pod 'SwiftyJSON'
end
ฉันใช้use_frameworks!
ใน CocoaPods Podfile
หลายครั้ง ฉันแค่สงสัยว่าทำไมเราถึงใช้มัน? ฉันไม่สามารถรับคำตอบที่ตรงไปตรงมาได้
ตัวอย่าง:
platform :ios, '8.0'
use_frameworks!
target "CityWhether" do
pod 'Alamofire'
pod 'SwiftyJSON'
end
คำตอบ:
use_frameworks!
บอก CocoaPods ว่าคุณต้องการใช้ Frameworks แทน Static Libraries เนื่องจาก Swift ไม่รองรับ Static Libraries คุณจึงต้องใช้ frameworks
ในคำตอบอื่นฉันอธิบายความแตกต่างระหว่าง Static Libraries และ Frameworks:
กรอบสัมผัสโกโก้
เป็นโอเพ่นซอร์สเสมอและจะสร้างขึ้นเช่นเดียวกับแอปของคุณ (ดังนั้นบางครั้ง Xcode จะคอมไพล์เมื่อคุณเรียกใช้แอปและหลังจากทำความสะอาดโปรเจ็กต์เสมอ) เฟรมเวิร์กรองรับเฉพาะ iOS 8 และใหม่กว่า แต่คุณสามารถใช้ Swift และ Objective-C ในเฟรมเวิร์กได้
Cocoa Touch ห้องสมุดคงที่
ตามชื่อบอกว่ามันคงที่ ดังนั้นจึงรวบรวมไว้แล้วเมื่อคุณนำเข้าสู่โครงการของคุณ คุณสามารถแบ่งปันกับผู้อื่นโดยไม่ต้องแสดงรหัสของคุณ โปรดทราบว่าปัจจุบัน Static Libraries ไม่รองรับ Swift คุณจะต้องใช้ Objective-C ภายในไลบรารี ตัวแอปยังสามารถเขียนด้วย Swift ได้
แหล่งที่มา: คำตอบอื่น ๆ ของฉัน | บล็อก AddThis.com
use_frameworks!
บอกให้ฝักโกโก้ใช้ไลบรารีแบบไดนามิกและเป็นที่แพร่หลายมาก ณ จุดหนึ่งเนื่องจากโดยเฉพาะอย่างยิ่งการไม่รองรับไลบรารีแบบคงที่ซึ่งหมายความว่าไม่มีทางเลือก แต่คุณมักไม่ต้องการuse_frameworks!
อีกต่อไป
ตั้งแต่ Xcode 9 beta 4 และ CocoaPods 1.5.0 รองรับไลบรารีแบบคงที่ที่รวดเร็วแล้ว ข้อได้เปรียบหลักคือเวลาเริ่มต้นแอปที่เร็วขึ้นโดยเฉพาะอย่างยิ่งหากคุณมีพ็อดจำนวนมาก iOS 10 และ 11 ไม่ใช่อุปกรณ์ที่เร็วที่สุดเมื่อคุณมีหลาย dylib
CocoaPods 1.5.0 ได้รับการปล่อยตัวในช่วงต้นเดือนเมษายน 2018sudo gem install cocoapods
ดังนั้นคุณอาจต้องอัปเกรดได้ที่:
ฉันพบพ็อดหลายตัวที่ยังทำงานไม่ถูกต้องกับไลบรารีแบบคงที่ระยะทางของคุณอาจแตกต่าง
No such module
ข้อผิดพลาดเดียวกัน นั่นเป็นปัญหาใน cocoapods หรือไม่?
use_modular_headers!
ใน Podfile เพื่อให้มันใช้งานได้กับพ็อดที่น่าจะต้องใช้ แต่ยังไม่ได้เปิดใช้งานด้วยตัวเอง
[เกี่ยวกับ] ของ Cocoapod use_frameworks!
รับผิดชอบประเภทของไบนารี:
use_frameworks!
มีอยู่ -dynamic framework
use_frameworks!
เป็นไม่ได้อยู่ -static library
use_frameworks!
มีผลสะท้อนในMach-O Type
[เกี่ยวกับ]ในเป้าหมายของPods
โครงการที่เกี่ยวข้อง
เส้นเวลา:
use_frameworks!
ที่คุณต้องใช้สำหรับ Swift poduse_frameworks!
บอกว่าคุณต้องการใช้กรอบแบบไดนามิกแทนห้องสมุดแบบคงที่
ด้วย Xcode 9.0 และ CocoaPods 1.5.0 use_frameworks!
ปล่อยตัวคุณสามารถใช้ห้องสมุดคงที่พร้อมรวดเร็วถ้าคุณไม่ได้ใช้งาน
ปัญหาอย่างหนึ่งuse_frameworks!
คือกรอบงานทั้งหมดของคุณใน Pods / Products เป็นกรอบงาน
นี่คือบทความที่เกี่ยวข้อง: ภาพรวมพื้นฐานของเฟรมเวิร์กแบบคงที่และไดนามิกบน iOS
One performance with use_frameworks is that all your framework in Pods/Products is frameworks.
หนึ่งประสิทธิภาพคืออะไร?
การเพิ่ม
use_frameworks!
ใน Podfile หมายความว่าเราต้องการให้เฟรมเวิร์กที่แสดงรายการถูกติดตั้งแบบไดนามิกแทนที่จะเป็นเฟรมเวิร์กแบบคงที่