My Cartfile มีห้องสมุดมากมาย เมื่อฉันทำcarthage update
มันผ่านไลบรารีทั้งหมด ซึ่งอาจใช้เวลานานมาก
มีวิธีอัปเดตไลบรารีเดียวกับคาร์เธจหรือไม่? อะไรทำนองนี้? (สิ่งนี้จะไม่ทำงาน)
carthage update "evgenyneu/moa"
My Cartfile มีห้องสมุดมากมาย เมื่อฉันทำcarthage update
มันผ่านไลบรารีทั้งหมด ซึ่งอาจใช้เวลานานมาก
มีวิธีอัปเดตไลบรารีเดียวกับคาร์เธจหรือไม่? อะไรทำนองนี้? (สิ่งนี้จะไม่ทำงาน)
carthage update "evgenyneu/moa"
คำตอบ:
จาก0.12 รุ่น build
, checkout
และupdate
ใช้พื้นที่เป็นตัวเลือกคั่นรายการการอ้างอิง
สำหรับ Cartfile ดังต่อไปนี้
github "Alamofire/Alamofire"
github "ReactiveX/RxSwift"
คุณสามารถเลือกที่จะอัปเดตการอ้างอิงหนึ่งรายการ
carthage update Alamofire
หรือหลายการอ้างอิง
carthage update Alamofire RxSwift
หากคุณต้องการเพิ่มแฟล็กให้เพิ่มแฟล็กสุดท้าย:
carthage update Alamofire --platform iOS
carthage bootstrap
และประมวลผลการอ้างอิงเพียงครั้งเดียวจากสองรายการที่กำหนดไว้ใน Cartfile ลองดูที่หน้าจอจากสถานีของฉันpasteboard.co/I9bARyq.png
bootstrap
update
เมื่อbootstrap
คุณดาวน์โหลดสิ่งที่Carfile.resolved
กล่าวมามันจะไม่อัปเดต
Carthage รองรับการอัปเดตการอ้างอิงเดียวในขณะนี้หากคุณมีสิ่งนี้ใน Cartfile ของคุณ:
github "bitstadium/HockeySDK-iOS"
จากนั้นคุณสามารถอัปเดตการอ้างอิงนี้ได้โดยการเรียกใช้
carthage update HockeySDK-iOS
ตอนนี้คำตอบคือไม่ ... ถ้าคุณวิ่งcarthage help update
คุณจะเห็น
Update and rebuild the project's dependencies
[--configuration Release]
the Xcode configuration to build (ignored if --no-build option is present)
[--platform all]
the platform to build for (ignored if --no-build option is present)
[--verbose]
print xcodebuild output inline (ignored if --no-build option is present)
[--no-build]
skip the building of dependencies after updating
[--use-ssh]
use SSH for downloading GitHub repositories
[--use-submodules]
add dependencies as Git submodules
[--no-use-binaries]
check out dependency repositories even when prebuilt frameworks exist (ignored if --no-build option is present)
[--color auto]
whether to apply color and terminal formatting (one of ‘auto’, ‘always’, or ‘never’)
[/path/to/your/app]
the directory containing the Carthage project
อย่างที่คุณเห็นไม่มีการกล่าวถึงตัวเลือกในการระบุการอ้างอิงเพียงรายการเดียวที่จะอัปเดต
คุณควรเปิดปัญหาในการ repo โครงการที่ขอให้สนับสนุน
หากกรอบงานไม่ได้เก็บไว้ใน GitHub หรือคุณกำลังใช้git
ตัวระบุและcartfile
หน้าตาของคุณจะเป็นดังนี้:
git "ssh://git@bitbucket.org/teamname/repo-name.git" ~> 1.0
จากนั้นคุณสามารถอัปเดตเฉพาะที่รันคำสั่งต่อไปนี้
carthage update repo-name
ฉันลองคำตอบทั้งหมดแล้วและสำหรับฉันเพียงแค่ลบหรือแสดงความคิดเห็นในที่เก็บชั่วคราวและหลังจากเรียกใช้
carthage update --platform ios
หลังจากฉันกู้คืน Catfile เป็นสถานะก่อนหน้า
สวิฟต์ 5
//MARK:- Step 1
carthage update KeychainAccess --platform iOS
carthage update SDKNAME(like i mention KeychainAccess upper) --platform iOS
หากคุณพบข้อผิดพลาดเช่นนี้
//MARK:- If this error occur
error: unable to find utility "xcodebuild", not a developer tool or in PATH
จากนั้นใช้ส่วนที่ 1 ใน Terminal อีกครั้ง
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
และอีกครั้ง
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
carthage [update|bootstrap|checkout|build] [dependency1] [dependency2] [--no-use-binaries] [--platform <name>]
//--no-use-binaries - does not use prebuild binary and use source code
//--platform - specify a platform
ระยะที่ยาวที่สุดคือbuild
ขั้นตอน[xcodebuild]เนื่องจาก:
fat binary
สร้างขึ้นโดยใช้lipo
[About]คาร์เธจสร้างshared frameworks schemes
โครงการทั้งหมด หากคุณทราบว่าสคีมาใดที่คุณต้องการคุณสามารถ:
ทิ้งโครงร่างเฉพาะไว้ที่xcschemes
โฟลเดอร์.../Carthage/Checkouts/<dependency>/<project>.xcodeproj/xcshareddata/xcschemes/<schema>.xcscheme
เปิดโครงการที่สร้างขึ้นจากCarthage/Checkouts
โฟลเดอร์ -> จัดการแบบแผน ... -> ออกจากโครงร่างเฉพาะ
ดูเหมือนว่าไม่ทำงานบนcarthage update repo-name
ฉันจะแก้ไขปัญหานี้โดยการปรับปรุงตนเองCarthage 0.36.0
Carthage.resolved
ตัวอย่างเช่นเพิ่มCartfile
การอ้างอิงใหม่:
github "konkab/AlamofireNetworkActivityLogger" ~> 3.0.0
เพิ่มการCartfile.resolved
พึ่งพาใหม่ด้วยตนเอง:
github "konkab/AlamofireNetworkActivityLogger" "3.0.0"
จากนั้นทำการcarthage bootstrap
อัปเดตการอ้างอิงเพียงรายการเดียว:
carthage bootstrap
มันจะใช้Carthage.resolved
และเพิ่มการพึ่งพาเพียงครั้งเดียว