เครื่องมือบรรทัดคำสั่งที่ดีที่สุดในการติดตั้งและสลับระหว่าง Xcode หลายเวอร์ชัน
หากคุณกำลังมองหาเวอร์ชันแอปของ xcodes
ให้ลองใช้ Xcodes.app
ตอนนี้ Xcodes เป็นส่วนหนึ่งของ XcodesOrg
แล้ว - อ่านเพิ่มเติมที่นี่
brew install xcodesorg/made/xcodes
สิ่งเหล่านี้เป็นรุ่นรุ่นที่มีการลงนามและรับรองโดย ID นักพัฒนา และไม่จำเป็นต้องมีการติดตั้ง Xcode อยู่แล้วจึงจะใช้งานได้
วิธีการอื่นๆ:
ดาวน์โหลดรุ่นล่าสุดจากหน้าเผยแพร่ สิ่งเหล่านี้เป็นรุ่น Release ที่ลงนามโดย ID นักพัฒนา และไม่จำเป็นต้องติดตั้ง Xcode อยู่แล้วจึงจะใช้งานได้
mint install XcodesOrg/xcodes
การสร้างจากแหล่งที่มาต้องใช้ Xcode 12.0 หรือใหม่กว่า ดังนั้นจึงไม่ใช่ตัวเลือกสำหรับการตั้งค่าคอมพิวเตอร์ตั้งแต่เริ่มต้น
git clone https://github.com/XcodesOrg/xcodes
cd xcodes
make install
# or, if /usr/local/ isn't in your PATH
PREFIX=/your/install/directory make install
ขณะติดตั้ง คุณอาจได้รับผลลัพธ์ต่อไปนี้:
swift build
error: terminated(72): xcrun --sdk macosx --find xctest output:
หากเป็นเช่นนั้น แสดงว่าคุณต้องเลือกเวอร์ชันของ Xcode คุณสามารถทำได้ด้วย xcode-select
หรือโดยการเลือกตัวเลือกเครื่องมือบรรทัดคำสั่งในแท็บตำแหน่งการตั้งค่าของ Xcode
ติดตั้ง Xcode เวอร์ชันเฉพาะโดยใช้คำสั่งอย่างใดอย่างหนึ่งต่อไปนี้:
xcodes install 10.2.1
xcodes install 11 Beta 7
xcodes install 11.2 GM seed
xcodes install 9.0 --path ~ /Archive/Xcode_9.xip
xcodes install --latest-prerelease
xcodes install --latest --directory " /Volumes/Bag Of Holding/ "
xcodes install --latest --experimental-unxip
จากนั้นคุณจะได้รับแจ้งให้ป้อนชื่อผู้ใช้และรหัสผ่าน Apple ID ของคุณ คุณยังสามารถระบุตัวแปรสภาพแวดล้อม XCODES_USERNAME
และ XCODES_PASSWORD
เหล่านี้ได้ด้วย
หลังจากตรวจสอบสิทธิ์สำเร็จแล้ว xcodes จะบันทึกรหัสผ่าน Apple ID ของคุณลงในพวงกุญแจ และจะจดจำ Apple ID ของคุณเพื่อใช้ในอนาคต หากคุณต้องการใช้ Apple ID อื่นนอกเหนือจากที่จำได้ ให้ตั้งค่าตัวแปรสภาพแวดล้อม XCODES_USERNAME
xcodes จะดาวน์โหลดและติดตั้งเวอร์ชันที่คุณขอเพื่อให้พร้อมใช้งาน
(1/6) Downloading Xcode 11.2.0: 100%
(2/6) Unarchiving Xcode (This can take a while)
(3/6) Moving Xcode to /Applications/Xcode-11.2.0.app
(4/6) Moving Xcode archive Xcode-11.2.0.xip to the Trash
(5/6) Checking security assessment and code signing
(6/6) Finishing installation
xcodes requires superuser privileges in order to finish installation.
macOS User Password:
Xcode 11.2.0 has been installed to /Applications/Xcode-11.2.0.app
หากคุณติดตั้ง aria2 ไว้ (มีให้ใช้งานใน Homebrew, brew install aria2
) จากนั้น xcodes จะใช้ค่าเริ่มต้นในการดาวน์โหลด ใช้การเชื่อมต่อสูงสุด 16 รายการเพื่อดาวน์โหลด Xcode เร็วกว่า URLSession 3-5 เท่า
Xcode จะถูกติดตั้งไปที่ /Applications ตามค่าเริ่มต้น แต่คุณสามารถระบุเส้นทางไปยังไดเร็กทอรีอื่นได้ด้วยตัวเลือก --directory
หรือตัวแปรสภาพแวดล้อม XCODES_DIRECTORY
คำสั่ง xcodes ทั้งหมดรองรับตัวเลือกนี้ เช่น select
และ uninstall
ดังนั้นคุณจึงสามารถจัดการเวอร์ชัน Xcode ที่ไม่ได้อยู่ใน /Applications ได้ xcodes รองรับการติดตั้ง Xcode เวอร์ชันทั้งหมดของคุณในไดเร็กทอรี เดียว ไม่ว่าจะอยู่ที่ไหนก็ตาม
เรียกใช้บรรทัดคำสั่งนี้เพื่อแสดงรันไทม์ที่มีอยู่
xcodes runtimes --include-betas
ติดตั้ง Runtime ที่ต้องการ (เช่น iOS 17.0-beta1)
xcodes runtimes install " iOS 17.0-beta1 "
.xcode-version
เราขอแนะนำให้สร้างไฟล์ .xcode-version
เพื่อประกาศและจัดเก็บเวอร์ชัน Xcode ที่จะใช้โดยสภาพแวดล้อม CI ของคุณและทีมของคุณอย่างชัดเจน
13.4.1
อ่านข้อเสนอของ .xcode-version
download <version>
: ดาวน์โหลด Xcode เวอร์ชันเฉพาะinstall <version>
: ดาวน์โหลดและติดตั้ง Xcode เวอร์ชันเฉพาะinstalled
: แสดงรายการเวอร์ชันของ Xcode ที่ติดตั้งlist
: แสดงรายการ Xcode ทุกเวอร์ชันที่พร้อมสำหรับการติดตั้งselect
: เปลี่ยน Xcode ที่เลือกuninstall
: ถอนการติดตั้ง Xcode เวอร์ชันเฉพาะupdate
: อัปเดตรายการ Xcode เวอร์ชันที่มีอยู่version
: พิมพ์หมายเลขเวอร์ชันของ xcodes เองsignout
: ล้างชื่อผู้ใช้และรหัสผ่านที่เก็บไว้ต้องขอบคุณการทำงานอันน่าทึ่งของ saagarjhi ทำให้ตอนนี้ Xcodes มีความสามารถในการคลาย xip เร็วขึ้นถึง 70% ในบางระบบ
xcodes install --latest --experimental-unxip
xcodes สามารถสร้างสคริปต์การเสร็จสิ้นซึ่งช่วยให้คุณสามารถกดปุ่ม Tab บนแป้นพิมพ์เพื่อเติมคำสั่งและอาร์กิวเมนต์อัตโนมัติเมื่อพิมพ์คำสั่ง xcodes ขั้นตอนในการติดตั้งสคริปต์เสร็จสิ้นจะขึ้นอยู่กับเชลล์ที่คุณใช้ ข้อมูลเพิ่มเติมเกี่ยวกับคำแนะนำในการติดตั้งสำหรับเชลล์ต่างๆ และการใช้งานพื้นฐานมีอยู่ใน repo ของ Swift-argument-parser
รันคำสั่งต่อไปนี้:
mkdir ~ /.oh-my-zsh/completions
xcodes --generate-completion-script > ~ /.oh-my-zsh/completions/_xcodes
คุณจะต้องมี Xcode 13 เพื่อสร้างและเรียกใช้ xcodes
เมื่อเรียกใช้ xcodes จาก Xcode หากคุณต้องการเรียกใช้คำสั่งเฉพาะหรือส่งผ่านอาร์กิวเมนต์ คุณสามารถกดปุ่มตัวเลือกค้างไว้เพื่อนำเสนอแผ่นงานที่มีตัวเลือกเพิ่มเติม ซึ่งหมายความว่าคุณจะต้องใช้ Option + Command + R หรือกด Option ค้างไว้ขณะคลิกปุ่ม Run ที่นี่คุณสามารถเพิ่ม ลบ และสลับอาร์กิวเมนต์ที่จะส่งไปยัง xcodes เมื่อเปิดใช้งานได้
swift build
swift run
หรือคำสั่งเช่น swift run xcodes list
swift test
มี Makefile เพื่อช่วยสร้าง xcodes สำหรับการแจกจ่าย เราได้ดำเนินการนี้ให้กับคุณแล้วเพื่อจัดเตรียมรุ่นนักพัฒนาที่ลงนามและรับรองโดย ID นักพัฒนาผ่าน Homebrew (ดูการติดตั้ง)
# Bump the version number in Version.swift, commit the change, and tag it
vim Sources/XcodesKit/Version.swift
git add Sources/XcodesKit/Version.swift
git commit -m " Bump version to $VERSION "
git tag -asm " $VERSION " " $VERSION "
# Clean first
make clean
# Make a release build of xcodes, sign it, and zip it
make zip
# Create a Homebrew bottle
make bottle VERSION= " $VERSION "
# Notarize the release build
# This can take a while
make notarize
TEAMID= " ABC123 "
# Push the new version bump commit and tag
git push --follow-tags
# Edit the draft release created by Release Drafter to point at the new tag
# Set the release title to the new version
# Duplicate xcodes-$VERSION.mojave.tar.gz and rename to xcodes-$VERSION.arm64_mojave.tar.gz
# Add the xcodes.zip, xcodes-$VERSION.mojave.tar.gz, xcodes-$VERSION.arm64_mojave.tar.gz files to the release
# Publish the release
# Update the Homebrew Bottle: https://github.com/XcodesOrg/homebrew-made/blob/master/Formula/xcodes.rb
การตัดสินใจออกแบบที่โดดเด่นจะถูกบันทึกไว้ใน DECISIONS.md ขั้นตอนการตรวจสอบสิทธิ์ของ Apple อธิบายไว้ใน Apple.paw ซึ่งจะช่วยให้คุณสามารถเล่นกับตำแหน่งข้อมูล API ที่เกี่ยวข้องกับการใช้แอป Paw ได้
xcode-install
และ fastlane/spaceship ทั้งคู่สมควรได้รับเครดิตในการค้นหาส่วนที่ยากของสิ่งที่ทำให้สิ่งนี้เป็นไปได้
แมตต์ เกียซิก - ทวิตเตอร์