xtool - เครื่องมือสำหรับบิลด์และดีพลอยแอป iOS โดยไม่ต้องใช้ Xcode
(github.com/xtool-org)- เครื่องมือทดแทน Xcode แบบข้ามแพลตฟอร์ม ที่สามารถบิลด์โปรเจกต์ที่ใช้ SwiftPM ได้บน Linux, Windows(WSL), macOS จากที่ใดก็ได้ และดีพลอยลงอุปกรณ์เป็น
.ipaได้ - มีประโยชน์ในสภาพแวดล้อม CI/CD โดยทำให้งานที่ต้องใช้ Xcode ง่ายขึ้นและเป็นอัตโนมัติ (เป็นผลงานจากการพัฒนาตลอด 8 ปีเพื่อทำระบบอัตโนมัติสำหรับการดีพลอย iOS)
- มีความสามารถสำหรับการเซ็นแอป iOS และการติดตั้ง รวมถึงการเชื่อมต่อกับ Apple Developer Services
- เป็นไลบรารี Swift ชื่อ
XKitที่ช่วยให้แอปของผู้ใช้โต้ตอบกับ Apple Developer Services หรืออุปกรณ์ iOS ได้โดยตรง
- เป็นไลบรารี Swift ชื่อ
- ข้อจำกัดนอกสภาพแวดล้อม macOS และแผนในอนาคต
- Interface Builder : มีความซับซ้อนในการพัฒนาสูงมาก และSwiftUI เข้ามาแทนที่ได้เป็นส่วนใหญ่แล้ว
- Asset Catalogs : จำเป็นต้องทำ reverse engineering แต่ก็คุ้มค่าที่จะรองรับ ปัจจุบันสามารถใช้วิธีเพิ่มไฟล์ภาพเป็นไฟล์ raw แทนได้
- Proprietary Macros
- แมโครมาตรฐานอย่าง
@Observableใช้งานได้ - แมโครเฉพาะของ Apple เช่น SwiftData จำเป็นต้อง reverse engineer แล้วประกอบขึ้นใหม่
- หาก Apple แจกจ่ายในรูปแบบแมโคร WebAssembly ก็จะสามารถใช้งานได้บนทุกแพลตฟอร์ม (ดูข้อเสนอใน Swift Forums)
- แมโครมาตรฐานอย่าง
- App Extensions
- ขณะนี้บิลด์ได้เฉพาะ target ประเภท "Application"
- สามารถแก้ได้ด้วยการขยายสเปก
xtool.ymlเพื่อรองรับ
- LLDB debugging
- ก่อน iOS 17 ทำได้ไม่ยาก แต่ Apple ได้เปลี่ยนวิธีเรียก
debugserver - สามารถเชื่อมต่อได้โดยใช้เครื่องมืออย่าง pymobiledevice3
- การรวมโปรโตคอล RemoteXPC แบบใหม่เป็นงานในอนาคต
- ก่อน iOS 17 ทำได้ไม่ยาก แต่ Apple ได้เปลี่ยนวิธีเรียก
- App Store Connect deployment
- ตอนนี้รองรับเฉพาะการรันบนอุปกรณ์ของตัวเอง
iTMSTransporterเป็นแบบข้ามแพลตฟอร์ม และมีโครงสร้างพื้นฐานสำหรับเชื่อมต่อ ASC API พร้อมอยู่แล้ว จึงมีความเป็นไปได้ที่จะรองรับได้
1 ความคิดเห็น
Apple ประกาศโอเพนซอร์ส Swift Build อันนี้ดูเหมือนเป็นของที่ทำขึ้นแยกต่างหาก ไม่เกี่ยวกับอันนั้นนะครับ