- ผู้เขียนเล่าถึงกระบวนการแปลงบัตรห้องสมุดให้เป็นดิจิทัลในแอป Wallet บน iPhone
- บัตรห้องสมุดของ Seattle Public Library และ King County Library System มีบาร์โค้ดอยู่ด้วย ซึ่งในปี 2023 อาจไม่จำเป็น แต่ใช้งานได้สะดวก
- เดิมทีแอป Wallet จัดการ "passes" ซึ่งเป็นไฟล์ zip เฉพาะของตัวเองที่อัดแน่นไปด้วย JSON และ PNG และถูกส่งจากผู้ให้บริการถึงผู้ใช้ผ่านอีเมลหรือเว็บ
- ปัญหาหลักสองข้อที่ผู้เขียนเจอคือ รูปแบบบาร์โค้ด และการที่ passes ต้องมีลายเซ็นเข้ารหัส
- บัตรห้องสมุดของผู้เขียนใช้ Codabar ซึ่งเป็นสัญลักษณ์บาร์โค้ดที่ใช้กันแพร่หลายในห้องสมุด แต่แอป Wallet ไม่รองรับ
- ผู้เขียนจึงต้องหาวิธีสร้างภาพที่สแกนได้และทำงานเป็นบาร์โค้ด
- ผู้เขียนต้องหาวิธีลงลายเซ็นเข้ารหัสให้ passes โดยไม่ต้องจ่าย $99 สำหรับคีย์ลงนาม pass ของนักพัฒนา Apple
- ผู้เขียนลองใช้แอปสร้าง pass หลายตัว และพบแอปที่อนุญาตให้สร้าง pass แบบออฟไลน์ได้
- ผู้เขียนเขียนเชลล์สคริปต์เพื่อสร้างบิตแมปของบาร์โค้ด Codabar ที่ถูกเข้ารหัส
- ผู้เขียนยังหาวิธีแก้ปัญหาเฉพาะหน้าเพื่อให้หน้าจอโทรศัพท์สว่างขึ้นเมื่อเลือก pass แม้ iOS จะไม่รู้จักบาร์โค้ดก็ตาม
- ผู้เขียนใช้
openssl เพื่อลงนาม manifest และสร้างไฟล์ zip สำหรับ pass
- ผู้เขียนยังไม่ได้ทดสอบ pass ในห้องสมุดจริง แต่สแกนสำเร็จด้วยเครื่องสแกนบาร์โค้ดแล้ว
- ผู้เขียนหวังว่า Apple จะเพิ่มการรองรับ Codabar ใน Wallet และเลิกบังคับให้ต้องสมัครสมาชิกปีละ $99 USD เพื่อใช้ลงนาม pass
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News