• xtool เป็นเครื่องมือทดแทน Xcode แบบข้ามแพลตฟอร์มที่ช่วยให้สามารถบิลด์และดีพลอยแอป iOS ที่ใช้ SwiftPM ได้บน Linux, WSL และ macOS
  • สามารถบิลด์แพ็กเกจ SwiftPM ให้เป็น แอป iOS พร้อมจัดการการเซ็นแอปและการติดตั้งได้
  • มีความสามารถในการโต้ตอบกับ Apple Developer Services แบบ เชิงโปรแกรม
  • บนบรรทัดคำสั่งมีซับคอมมานด์อย่าง setup, auth, sdk, new, dev, ds, devices, install, uninstall, launch
  • หากต้องการจัดการ Apple Developer Services และอุปกรณ์ iOS จากแอปของตัวเอง สามารถเพิ่มไลบรารี XKit เป็น dependency ของ SwiftPM เพื่อใช้งานได้

เป้าหมายของ xtool

  • xtool เป็นเครื่องมือข้ามแพลตฟอร์มที่สร้างความสามารถของ Xcode ขึ้นใหม่โดยอิงกับมาตรฐานเปิด
  • สภาพแวดล้อมที่รองรับคือ Linux/WSL/macOS
  • มีเวิร์กโฟลว์สำหรับบิลด์และดีพลอยแพ็กเกจ SwiftPM ให้เป็นแอป iOS

ความสามารถที่มีให้

  • สามารถบิลด์แพ็กเกจ SwiftPM ให้เป็น แอป iOS ได้
  • สามารถเซ็นแอป iOS และติดตั้งลงอุปกรณ์ได้
  • สามารถโต้ตอบกับ Apple Developer Services แบบเชิงโปรแกรมได้

วิธีเริ่มต้น

  • คู่มือการติดตั้งแยกตามสภาพแวดล้อม
  • แอปแรกที่สร้างด้วย xtool สามารถสร้างและรันได้ตาม tutorial

อินเทอร์เฟซบรรทัดคำสั่ง

  • xtool --help จะแสดงภาพรวมของ Cross-platform Xcode replacement และวิธีใช้ xtool <subcommand>
  • ซับคอมมานด์ที่เกี่ยวกับการตั้งค่า
    • setup: ตั้งค่า xtool สำหรับการพัฒนา iOS
    • auth: จัดการการยืนยันตัวตนกับ Apple Developer Services
    • sdk: จัดการ Darwin Swift SDK
  • ซับคอมมานด์ที่เกี่ยวกับการพัฒนา
    • new: สร้างโปรเจกต์ xtool SwiftPM ใหม่
    • dev: บิลด์และรันโปรเจกต์ xtool SwiftPM
    • ds: โต้ตอบกับ Apple Developer Services
  • ซับคอมมานด์ที่เกี่ยวกับอุปกรณ์
    • devices: แสดงรายการอุปกรณ์
    • install: ติดตั้งไฟล์ ipa ลงอุปกรณ์
    • uninstall: ลบแอปที่ติดตั้งแล้ว
    • launch: เปิดแอปที่ติดตั้งแล้ว

ไลบรารี XKit

  • xtool มี ไลบรารี ที่รวมมาให้สำหรับโต้ตอบกับ Apple Developer Services, อุปกรณ์ iOS และอื่น ๆ จากแอปของตัวเอง
  • สามารถเพิ่ม XKit เป็น dependency ใน SwiftPM เพื่อใช้งานได้
// package dependency:
.package(url: "https://github.com/xtool-org/xtool";, .upToNextMinor(from: "1.2.0"))
// target dependency:
.product(name: "XKit", package: "xtool")

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น