เครื่องมือ CLI สำหรับแจกจ่ายแอป macOS feat .dmg, .pkg, codesign
(github.com/ironpark)ZAPP
ทำให้การแจกจ่ายแอปพลิเคชัน macOS เป็นเรื่องง่าย
เหตุผลที่สร้างขึ้น
ในกรณีของผม มีบางครั้งที่ต้อง build และแจกจ่ายแอป macOS นอก Apple Store
ในตอนนั้นจะต้องผ่านกระบวนการ รวม dependency ของไบนารี -> เซ็นโค้ดและ notarization ให้ app bundle -> สร้างไฟล์ dmg -> เซ็นและ notarization
เมื่อต้องการรวมสิ่งนี้เข้ากับ CI/CD ก็ต้องติดตั้งเครื่องมือหลายตัวและเขียนสคริปต์เพิ่ม ทั้งกระบวนการแจกจ่ายก็กินเวลานาน และยังต้องตั้งค่าซ้ำในทุกโปรเจกต์ใหม่ซึ่งยุ่งยากมาก เลยทำเครื่องมือนี้ขึ้นมา และตอนนี้มันเลยจุดขั้นต่ำที่ผมใช้ส่วนตัวแล้ว จึงอยากนำมาแนะนำแบบนี้ครับ :)
ต่างกันอย่างไร?
- ติดตั้งง่าย: สามารถติดตั้งอย่างรวดเร็วผ่าน Homebrew เป็นไบนารีเดี่ยวโดยไม่ต้องพึ่งพาไบนารีหรือลิงก์กับ runtime อื่น ๆ จึงรวมเข้ากับกระบวนการ CI ได้ง่าย
- รวมหลายความสามารถไว้ในตัวเดียว: ใส่ความสามารถที่จำเป็นต่อการแจกจ่ายไว้ในเครื่องมือเดียว ไม่ว่าจะเป็นการสร้างไฟล์ DMG, การสร้างไฟล์ pkg, การเซ็น และ notarization
ฟีเจอร์หลัก
- สร้างไฟล์ dmg แบบติดตั้งด้วยการลากและวางด้วยคำสั่งเดียว
- สร้างไฟล์ติดตั้ง
pkg - รองรับการเซ็น, notarization, staple
- ฟีเจอร์ dependency bundling ที่ค้นหา shared library ที่ executable ใช้งาน แล้วคัดลอกเข้าไปใน app bundle พร้อมแก้ไขเส้นทางลิงก์ เพื่อให้ใช้งานได้โดยไม่ต้องติดตั้งไลบรารีแยกต่างหาก
รายละเอียดเพิ่มเติมมีอยู่ใน README อย่างละเอียดมากขึ้น
ถ้ารู้สึกว่ายังมีส่วนที่อธิบายไม่เพียงพอ บอกกันได้เลยครับ!
นอกจากนี้ยังยินดีรับทุกการมีส่วนร่วม ไม่ว่าจะเป็นการแก้ไขเอกสาร รีแฟกเตอร์โค้ด ข้อเสนอฟีเจอร์ บั๊ก ฯลฯ!
ยังไม่มีความคิดเห็น