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 อย่างละเอียดมากขึ้น  
ถ้ารู้สึกว่ายังมีส่วนที่อธิบายไม่เพียงพอ บอกกันได้เลยครับ!  
  
นอกจากนี้ยังยินดีรับทุกการมีส่วนร่วม ไม่ว่าจะเป็นการแก้ไขเอกสาร รีแฟกเตอร์โค้ด ข้อเสนอฟีเจอร์ บั๊ก ฯลฯ!  

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

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