วิธีอัปโหลดแอปพลิเคชันขึ้น App Store
ในการอัปโหลดแอปพลิเคชันขึ้น Apple App Store จำเป็นต้องเปิดบัญชี Apple Developer สร้างบิลด์ผ่าน Xcode และส่งให้ตรวจสอบผ่าน App Store Connect

สารบัญ
อ่านแล้ว 0%
- องค์ประกอบหลักของกระบวนการเผยแพร่แอปพลิเคชันบน App Store
- ข้อกำหนดเบื้องต้นและการเตรียมการที่จำเป็น
- ขั้นตอนที่ 1: การสร้างระเบียนแอปพลิเคชันบน App Store Connect
- ขั้นตอนที่ 2: การเตรียมเมทาดาตาและภาพกราฟิกสำหรับ App Store
- ขั้นตอนที่ 3: การสร้างบิลด์และการอัปโหลดแอปพลิเคชันผ่าน Xcode
- ขั้นตอนที่ 4: ขั้นตอนการทดสอบเบต้าด้วย TestFlight
- ขั้นตอนที่ 5: การส่งเพื่อตรวจสอบ (Submit for Review) และกระบวนการอนุมัติ
- สาเหตุการปฏิเสธที่พบบ่อยโดย Apple และวิธีแก้ไข
- คำถามที่พบบ่อย
ในการอัปโหลดแอปพลิเคชันขึ้น Apple App Store จำเป็นต้องเปิดบัญชี Apple Developer สร้างบิลด์ผ่าน Xcode และส่งให้ตรวจสอบผ่าน App Store Connect การมีตัวตนอยู่ในสโตร์ที่มีชื่อเสียงและมีกฎเกณฑ์ที่เข้มงวดที่สุดในระบบนิเวศมือถือนี้ จำเป็นต้องอาศัยการเตรียมความพร้อมทางเทคนิค การปฏิบัติตามข้อกำหนดทางกฎหมาย และกลยุทธ์การเผยแพร่อย่างเป็นระบบ คู่มือนี้จะวิเคราะห์ขั้นตอนสำคัญทั้งหมด ข้อกำหนดทางเทคนิค และการวางแผนงบประมาณในกระบวนการนำแอป iOS จากสภาพแวดล้อมการพัฒนาไปสู่ผู้ใช้หลายล้านคนในตลาดระดับโลก สำหรับผู้มีอำนาจตัดสินใจทางเทคนิคและผู้บริหารธุรกิจ
องค์ประกอบหลักของกระบวนการเผยแพร่แอปพลิเคชันบน App Store
ขั้นตอนพื้นฐานและเครื่องมือที่จำเป็น (Xcode, App Store Connect, บัญชี Developer)
การเผยแพร่แอปพลิเคชัน iOS บน App Store ให้ประสบความสำเร็จ จำเป็นต้องประสานการทำงานของสามแพลตฟอร์มและเครื่องมือหลักของ Apple ที่ทำงานร่วมกันอย่างถูกต้อง องค์ประกอบแรกของระบบนิเวศนี้คือซอฟต์แวร์ Xcode ซึ่งเป็นสภาพแวดล้อมการพัฒนาแบบเบ็ดเสร็จ (IDE) Xcode เป็นศูนย์กลางในการคอมไพล์ซอร์สโค้ดของแอปพลิเคชัน ดำเนินการทดสอบในเครื่อง และสร้างแพ็กเกจแอปพลิเคชันในรูปแบบไฟล์ IPA ที่จะส่งขึ้นสู่ระบบคลาวด์ในท้ายที่สุด ในทางเทคนิคแล้ว คอมพิวเตอร์ที่ใช้ระบบปฏิบัติการ macOS และ Xcode เวอร์ชันล่าสุดถือเป็นสิ่งจำเป็นอย่างยิ่งในการคอมไพล์โปรเจกต์ภายในเครื่องและลงนามรับรองตามมาตรฐานของ Apple
องค์ประกอบที่สองของกระบวนการคือ โปรแกรมสมาชิกสำหรับองค์กรที่ Apple มอบให้กับนักพัฒนาซอฟต์แวร์ หากไม่ได้ลงทะเบียนใน Apple Developer Program จะไม่สามารถแจกจ่ายแอปพลิเคชันภายนอกอุปกรณ์หรือส่งไปยังสโตร์ได้ บัญชีนักพัฒนาช่วยให้คุณสามารถสร้างใบรับรองลายเซ็นดิจิทัลสำหรับแอปพลิเคชัน และยืนยันตัวตนทางกฎหมายของคุณในระบบนิเวศของ Apple ทั้งนี้ Distribution Certificate (ใบรับรองการแจกจ่าย) และ Provisioning Profile (โปรไฟล์การจัดเตรียม) ที่สร้างขึ้นผ่านบัญชีนี้ คือคีย์การเข้ารหัสที่รับประกันว่าแอปพลิเคชันมาจากแหล่งที่ปลอดภัยและได้รับการยืนยันแล้ว
ขั้นตอนสุดท้ายดำเนินการผ่านแผงควบคุม App Store Connect ซึ่งเป็นส่วนที่ใช้จัดการการดำเนินงานด้านการบริหารและการตลาดทั้งหมด App Store Connect คือเว็บพอร์ทัลการจัดการที่คุณใช้กำหนดค่าคำอธิบายแอปบนสโตร์ ภาพหน้าจอ นโยบายการตั้งราคา ข้อกำหนดความเป็นส่วนตัว และการจัดระดับอายุ บิลด์ (Build) ที่ส่งผ่าน Xcode จะเข้ามายังแผงควบคุมนี้ และหลังจากกำหนดรายละเอียดที่จำเป็นเรียบร้อยแล้ว จะถูกส่งต่อไปยังทีมตรวจสอบของ Apple (App Review)
แผนผังกระบวนการและขั้นตอนสำคัญ
กระบวนการเผยแพร่แอปพลิเคชัน iOS มีเวิร์กโฟลว์ทางเทคนิคที่เป็นเส้นตรงและประกอบด้วยขั้นตอนที่ต่อเนื่องกัน ข้อผิดพลาดในการกำหนดค่าเพียงเล็กน้อยในกระบวนการนี้อาจส่งผลให้บิลด์ถูกปฏิเสธหรือทำให้กระบวนการตรวจสอบล่าช้าได้ กระบวนการเริ่มต้นจากการพัฒนาเสร็จสมบูรณ์และการทดสอบภายในเครื่อง (การทดสอบบนตัวจำลองและอุปกรณ์จริง) ประสบความสำเร็จ จากนั้นจึงดำเนินการกำหนดค่าที่จำเป็นบน Apple Developer Portal
ในเวิร์กโฟลว์นี้ การดำเนินการแต่ละขั้นตอนให้เสร็จสมบูรณ์ด้วยพารามิเตอร์ที่ตรวจสอบได้มีความสำคัญอย่างยิ่ง ตัวอย่างเช่น Bundle ID (ตัวระบุแพ็กเกจ) เมื่อถูกกำหนดและส่งไปยังสโตร์แล้วจะไม่สามารถเปลี่ยนแปลงได้ ในทำนองเดียวกัน หากยังกรอกแบบฟอร์มภาษีและข้อมูลบัญชีธนาคารไม่ครบถ้วน จะไม่สามารถเปิดใช้งานแอปแบบชำระเงินหรือฟีเจอร์การซื้อภายในแอป (In-App Purchase) ได้ ผู้มีอำนาจตัดสินใจจำเป็นต้องคำนึงถึงเงื่อนไขการพึ่งพาทางเทคนิคเหล่านี้ในการวางแผนกำหนดเวลาของโปรเจกต์
ข้อกำหนดเบื้องต้นและการเตรียมการที่จำเป็น
การลงทะเบียน Apple Developer Program และการยืนยันตัวตนระดับองค์กร (หมายเลข DUNS)
หากต้องการเผยแพร่แอปของคุณบน App Store ก่อนอื่นคุณจะต้องเปิดบัญชี Apple Developer โดย Apple มีบัญชีหลักสองประเภท ได้แก่ บัญชีบุคคลทั่วไป (Individual) และบัญชีองค์กร (Organization) บัญชีบุคคลทั่วไปจะช่วยให้นักพัฒนาคนเดียวสามารถเผยแพร่แอปในนามของตนเองได้ และขั้นตอนการลงทะเบียนก็ค่อนข้างรวดเร็ว อย่างไรก็ตาม หากต้องการเผยแพร่แอปในนามของบริษัท สตาร์ทอัป หรือนิติบุคคลเชิงพาณิชย์ ควรเลือกบัญชีนักพัฒนาสำหรับองค์กรอย่างยิ่ง ข้อได้เปรียบที่สำคัญที่สุดของบัญชีองค์กรคือการสามารถเพิ่มสมาชิกในทีมด้วยบทบาทต่างๆ ได้ (เช่น นักพัฒนา, นักการตลาด, ผู้รับผิดชอบทางการเงิน เป็นต้น) และชื่อนิติบุคคลของบริษัทจะแสดงเป็นผู้พัฒนาแอปโดยตรงบนหน้าสโตร์
ขั้นตอนที่สำคัญที่สุดและใช้เวลามากที่สุดของกระบวนการลงทะเบียนระดับองค์กรคือการขอรับหมายเลข DUNS (Data Universal Numbering System) หมายเลขเฉพาะ 9 หลักนี้ซึ่งออกโดย Dun & Bradstreet จะช่วยยืนยันการมีอยู่จริงทางกายภาพและสถานะทางกฎหมายของบริษัทของคุณในระดับสากล Apple กำหนดให้ต้องใช้หมายเลขนี้ในการขอสมัครสมาชิกสำหรับองค์กร ในการขอรับหมายเลข DUNS จะต้องยื่นคำร้องพร้อมระบุชื่อทางการของบริษัท ที่อยู่ และข้อมูลการติดต่อของผู้มีอำนาจ โดยปกติแล้ว การขอรับหมายเลขและการเปิดใช้งานในระบบของ Apple อาจใช้เวลา 2 ถึง 7 วันทำการ ส่วนค่าธรรมเนียม Apple Developer Program จะเป็นรูปแบบการสมัครสมาชิกรายปี ซึ่งกำหนดไว้ที่ 99 USD ต่อปีสำหรับทั้งบัญชีบุคคลทั่วไปและบัญชีองค์กรมาตรฐาน
การตั้งค่าใบรับรองนักพัฒนาและ Provisioning Profile
สถาปัตยกรรมความปลอดภัยของระบบปฏิบัติการ iOS ป้องกันการรันโค้ดที่ไม่ได้รับอนุญาตบนอุปกรณ์จริงอย่างสิ้นเชิง ด้วยเหตุนี้ แอปพลิเคชันที่พัฒนาขึ้นจะต้องได้รับการลงนาม (sign) โดย Apple เพื่อให้สามารถทำงานได้ทั้งในขั้นตอนการทดสอบและการเผยแพร่บน App Store กระบวนการลงนามนี้ดำเนินการผ่านใบรับรอง (Certificates) และโปรไฟล์การจัดเตรียม (Provisioning Profiles) ซึ่งจัดการผ่านพอร์ทัล Apple Developer
ขั้นตอนแรกคือการสร้างไฟล์ Certificate Signing Request (CSR - คำขอลงนามใบรับรอง) ผ่านการเข้าถึงพวงกุญแจ (Keychain Access) บนระบบปฏิบัติการ macOS จากนั้นอัปโหลดไฟล์ CSR นี้ไปยังพอร์ทัล Apple Developer เพื่อสร้าง iOS Distribution Certificate (ใบรับรองสำหรับการแจกจ่าย) ใบรับรองนี้จะยืนยันตัวตนขององค์กรที่ลงนามในแอปของคุณ ขั้นตอนที่สองคือการสร้าง Provisioning Profile (โปรไฟล์การจัดเตรียม) ซึ่งโปรไฟล์นี้เป็นเอกสารอนุญาตแบบดิจิทัลที่รวม Bundle ID ของแอปที่เกี่ยวข้อง รายการอุปกรณ์ที่ได้รับอนุญาต (สำหรับขั้นตอนการพัฒนาและ ad-hoc) รวมถึงใบรับรองสำหรับการแจกจ่ายเข้าไว้ด้วยกัน Xcode จะอ่านโปรไฟล์นี้ในขั้นตอนการบิลด์ เพื่อให้มั่นใจว่าแอปสามารถทำงานบนอุปกรณ์เป้าหมายได้อย่างราบรื่น
การตรวจสอบความสอดคล้องกับแนวทางของ App Store (Guidelines) และลำดับความสำคัญ
Apple บังคับใช้ชุดกฎระเบียบที่เข้มงวดอย่างยิ่งเพื่อรักษาคุณภาพและความปลอดภัยของแพลตฟอร์ม App Store กฎเหล่านี้รู้จักกันในชื่อแนวทางการตรวจสอบของ App Store (App Review Guidelines) ซึ่งแบ่งออกเป็น 5 หมวดหมู่หลัก ได้แก่ ความปลอดภัย ประสิทธิภาพ การออกแบบ รูปแบบธุรกิจ และการปฏิบัติตามกฎหมาย เพื่อป้องกันไม่ให้แอปของคุณถูกปฏิเสธตั้งแต่การตรวจสอบครั้งแรก จำเป็นต้องปฏิบัติตามกฎเหล่านี้อย่างเคร่งครัดตั้งแต่ขั้นตอนการเขียนโค้ด
โดยเฉพาะอย่างยิ่ง ข้อจำกัดในการเก็บรวบรวมข้อมูลในแอปสำหรับเด็ก กลไกการรายงานเพื่อตรวจสอบเนื้อหาที่ผู้ใช้สร้างขึ้น (UGC) และคำอธิบายที่ชัดเจนเกี่ยวกับฟังก์ชันการทำงานหลักของแอป ล้วนเป็นหัวใจสำคัญของแนวทางเหล่านี้ แอปจะต้องไม่เป็นเพียงแค่ webview (เบราว์เซอร์ภายในแอป) แบบง่ายๆ ที่ครอบเว็บไซต์ไว้เท่านั้น แต่จะต้องมอบประสบการณ์การใช้งานที่สมบูรณ์และออกแบบมาเพื่อแพลตฟอร์มมือถือโดยเฉพาะ มิฉะนั้น แอปของคุณจะถูกปฏิเสธโดยตรงตามกฎ "ฟังก์ชันการทำงานขั้นต่ำ" (Minimum Functionality)
ขั้นตอนที่ 1: การสร้างระเบียนแอปพลิเคชันบน App Store Connect
การกำหนด Bundle ID และการเลือกชื่อแอปพลิเคชัน
หลังจากบัญชีนักพัฒนาของคุณเปิดใช้งานและมีการกำหนดค่าใบรับรองที่จำเป็นเรียบร้อยแล้ว คุณจะต้องลงทะเบียนแอปพลิเคชันของคุณบนแผงควบคุม App Store Connect ขั้นตอนแรกของกระบวนการนี้คือการคลิกปุ่ม "+" ในแท็บ "Apps" แล้วเลือก "New App" ในแบบฟอร์มที่ปรากฏขึ้น คุณจะต้องระบุแพลตฟอร์มของแอป (iOS, macOS, tvOS เป็นต้น) ชื่อแอป ภาษาหลัก และที่สำคัญที่สุดคือข้อมูล Bundle Identifier (Bundle ID)
Bundle ID คือสตริงระบุตัวตนที่ทำให้แอปของคุณไม่ซ้ำกับแอปอื่นทั่วโลกและในระดับระบบปฏิบัติการ โดยทั่วไปจะใช้รูปแบบสัญกรณ์ชื่อโดเมนย้อนกลับ (เช่นcom.sirketadi.uygulamaadi) จะถูกสร้างขึ้น ค่า "Bundle Identifier" ในโปรเจกต์ Xcode ของคุณจะต้องตรงกับ Bundle ID ที่คุณเลือกใน App Store Connect ทุกประการ ส่วนการเลือกชื่อแอปพลิเคชันนั้นถือเป็นการตัดสินใจเชิงกลยุทธ์ทั้งในแง่ของมูลค่าแบรนด์และ ASO ช่องใส่ชื่ออนุญาตให้ใช้ได้สูงสุด 30 ตัวอักษร ดังนั้น จึงควรเลือกชื่อที่ชัดเจน สะท้อนฟังก์ชันหลักของแอป และไม่มีการละเมิดลิขสิทธิ์
การตั้งค่าราคา ภาษี และความพร้อมให้บริการตามรายประเทศ
การกำหนดว่าแอปพลิเคชันของคุณจะวางจำหน่ายในตลาดใดบ้างทั่วโลก ด้วยสกุลเงินใด และในรูปแบบใดนั้น ถือเป็นรากฐานสำคัญของกลยุทธ์ทางการเงินของคุณ ส่วน "Pricing and Availability" ในแผงควบคุม App Store Connect คือพื้นที่ศูนย์กลางสำหรับการจัดการการตั้งค่าเหล่านี้ โดยคุณสามารถเสนอแอปได้ฟรีทั้งหมด หรือเลือกหนึ่งในระดับราคา (Tiers) ที่ Apple กำหนดไว้ล่วงหน้า
ในระหว่างการกำหนดโครงสร้างราคา อัตราภาษีท้องถิ่นของแต่ละประเทศและความผันผวนของอัตราแลกเปลี่ยนจะได้รับการปรับให้เหมาะสมโดยอัตโนมัติโดย Apple อย่างไรก็ตาม ในฐานะนักพัฒนา โดยเฉพาะอย่างยิ่งหากคุณจะวางจำหน่ายในตลาดสหรัฐอเมริกา คุณจำเป็นต้องกรอกแบบฟอร์มภาษี (เช่น W-8BEN หรือ W-8BEN-E) เพื่อรับสิทธิประโยชน์จากสนธิสัญญาป้องกันการเก็บภาษีซ้ำซ้อน นอกจากนี้ คุณยังสามารถจัดการข้อจำกัดการกระจายแอปตามพื้นที่ทางภูมิศาสตร์ได้จากหน้าจอนี้ ตัวอย่างเช่น การจำกัดไม่ให้แอปพลิเคชันด้านโลจิสติกส์ที่ให้บริการเฉพาะในตลาดตุรกีสามารถดาวน์โหลดได้ทั่วโลก ถือเป็นแนวทางที่สมเหตุสมผลเพื่อลดต้นทุนเซิร์ฟเวอร์และทราฟฟิกผู้ใช้ปลอม
URL นโยบายความเป็นส่วนตัวและการแจ้งการเก็บรวบรวมข้อมูล (การปฏิบัติตาม KVKK/GDPR)
ตามมาตรฐานความปลอดภัยทางไซเบอร์และการคุ้มครองข้อมูลส่วนบุคคล ทุกแอปพลิเคชันที่อัปโหลดไปยัง App Store จำเป็นต้องมี URL นโยบายความเป็นส่วนตัว (Privacy Policy) ที่ใช้งานได้จริงตามข้อกำหนดทางกฎหมาย Apple กำหนดให้ผู้ใช้ต้องมองเห็นได้อย่างโปร่งใสว่าข้อมูลส่วนบุคคลของตนได้รับการประมวลผล จัดเก็บ และเปิดเผยต่อบุคคลที่สามหรือไม่ โดยจะต้องเพิ่มลิงก์เว็บไซต์ที่แสดงข้อความนโยบายดังกล่าวไว้ในข้อมูลหน้าร้านค้า
นอกจากนี้ ในส่วน "App Privacy" บน App Store Connect คุณจะต้องสำแดงประเภทข้อมูลที่แอปพลิเคชันของคุณเก็บรวบรวมทีละรายการ ในระบบนี้ซึ่งเรียกว่า "Data Nutrition Labels" (ฉลากข้อมูลโภชนาการ) คุณจำเป็นต้องระบุวัตถุประสงค์ในการเก็บรวบรวมข้อมูลประเภทต่างๆ เช่น ตำแหน่งที่ตั้ง ข้อมูลการติดต่อ ข้อมูลทางการเงิน ประวัติการใช้งาน หากแอปของคุณติดตามผู้ใช้ข้ามแพลตฟอร์มต่างๆ หรือมีการแชร์ข้อมูล คุณมีข้อผูกมัดทางเทคนิคที่ต้องขอความยินยอมโดยชัดแจ้งจากผู้ใช้ (ที่สอดคล้องกับ KVKK/GDPR) โดยใช้เฟรมเวิร์ก App Tracking Transparency (ATT) ของ Apple
ขั้นตอนที่ 2: การเตรียมเมทาดาตาและภาพกราฟิกสำหรับ App Store
คำอธิบายแอปพลิเคชันที่มีประสิทธิภาพและกลยุทธ์คีย์เวิร์ด (ASO)
แม้แอปพลิเคชันของคุณจะสมบูรณ์แบบทางเทคนิคเพียงใด แต่หากไม่ถูกค้นพบในการค้นหาบนสโตร์ ก็ไม่อาจนำมาซึ่งความสำเร็จในเชิงพาณิชย์ได้ ณ จุดนี้ กลยุทธ์ App Store Optimization (ASO) จึงเข้ามามีบทบาท มีช่องข้อความพื้นฐานสามช่องที่คุณต้องกรอกในแผงควบคุม App Store Connect ได้แก่ ชื่อแอป (App Name), คำบรรยายรอง (Subtitle) และคีย์เวิร์ด (Keywords) โดยช่องเหล่านี้จะถูกสแกนและจัดทำดัชนีโดยอัลกอริทึมการค้นหาโดยตรง
ชื่อแอป:ควรมีคีย์เวิร์ดที่สำคัญที่สุดอยู่คู่กับแบรนด์ของคุณ (เช่น "Webizm - Proje Yönetimi") โดยจำกัดความยาวไม่เกิน 30 ตัวอักษร
คำบรรยายรอง:ควรเป็นประโยคสั้นๆ ที่ดึงดูดความสนใจและเน้นย้ำถึงคุณค่าที่แอปพลิเคชันนำเสนอให้ชัดเจน โดยจำกัดความยาวไม่เกิน 30 ตัวอักษร
คีย์เวิร์ด:รายการคำที่คุณต้องการให้แสดงในการค้นหาโดยคั่นด้วยเครื่องหมายจุลภาค ในช่องความยาว 100 ตัวอักษรนี้ไม่ควรใช้การเว้นวรรคและไม่ควรใช้คำซ้ำ
ส่วนคำอธิบายแอปพลิเคชัน (Description) นั้นมีความยาวสูงสุด 4,000 ตัวอักษร แม้ว่าช่องนี้จะไม่ได้รับการจัดทำดัชนีในการค้นหาภายใน App Store โดยตรง แต่ก็มีความสำคัญอย่างยิ่งต่อการจัดทำดัชนีของเสิร์ชเอนจิน Google (SEO) และการตัดสินใจดาวน์โหลดของผู้ใช้ สามบรรทัดแรกของคำอธิบายควรระบุฟีเจอร์ที่โดดเด่นที่สุด เนื่องจากเป็นพื้นที่ที่ผู้ใช้จะมองเห็นก่อนที่จะกดปุ่ม "ดูเพิ่มเติม"
ข้อกำหนดภาพหน้าจอและวิดีโอตัวอย่างตามอุปกรณ์
ภาพหน้าจอ (Screenshots) คือส่วนที่มีอิทธิพลต่อการตัดสินใจดาวน์โหลดแอปพลิเคชันของผู้ใช้มากที่สุด Apple กำหนดกฎเกณฑ์ความละเอียดและเนื้อหาที่เข้มงวดอย่างยิ่งสำหรับภาพที่จะเผยแพร่บนสโตร์ คุณจำเป็นต้องอัปโหลดภาพหน้าจออย่างน้อยหนึ่งภาพที่มีขนาดพิกเซลถูกต้องสำหรับอุปกรณ์ทุกประเภทที่แอปของคุณรองรับ
ตามข้อกำหนดในปัจจุบัน จำเป็นต้องเตรียมภาพสำหรับขนาดหน้าจอ 6.5 นิ้ว (iPhone XS Max, 11 Pro Max ฯลฯ) และ 5.5 นิ้ว (iPhone 8 Plus และอุปกรณ์รุ่นก่อนหน้า) หากแอปพลิเคชันของคุณรองรับอุปกรณ์ iPad ด้วย จะต้องอัปโหลดภาพหน้าจอขนาด 12.9 นิ้วสำหรับ iPad Pro ด้วยเช่นกัน ภาพกราฟิกจะต้องแสดงอินเทอร์เฟซจริงของอุปกรณ์และฟังก์ชันการทำงานจริงของแอปพลิเคชันอย่างเคร่งครัด การออกแบบที่แต่งเติมขึ้นโดยมีเพียงสโลแกนทางการตลาดและไม่สะท้อนการทำงานจริงของแอปถือเป็นเหตุผลในการปฏิเสธโดยทีมตรวจสอบของ Apple นอกจากนี้ หากต้องการ คุณยังสามารถเพิ่มวิดีโอ "App Preview" ที่แสดงการทำงานของแอปความยาวสูงสุด 30 วินาทีได้มากถึง 3 รายการ
รายละเอียดการซื้อภายในแอป (IAP) และการสมัครสมาชิก
หากคุณวางแผนที่จะสร้างรายได้ด้วยการนำเสนอเนื้อหาดิจิทัล ฟีเจอร์พรีเมียม หรือรูปแบบการสมัครรับข้อมูล (Subscription) ในแอปพลิเคชันของคุณ คุณจะต้องผสานการทำงานของ StoreKit framework ให้เสร็จสมบูรณ์ และกำหนดค่าสินค้าเหล่านี้บน App Store Connect โดย Apple กำหนดให้การขายสินค้าดิจิทัลทั้งหมดต้องดำเนินการผ่านโครงสร้างพื้นฐานระบบการชำระเงินของตนเอง ยกเว้นการขายสินค้าที่จับต้องได้ (เช่น เว็บไซต์อีคอมเมิร์ซ)
คุณสามารถสร้างประเภทสินค้าได้ 4 รูปแบบภายใต้เมนู "In-App Purchases" หรือ "Subscriptions" ใน App Store Connect:
ใช้แล้วหมดไป (Consumable):ไอเทมที่ใช้แล้วหมดไปและสามารถซื้อซ้ำได้ เช่น เหรียญทองในเกม หรือเครดิตภายในแอป
ใช้ได้ถาวร (Non-Consumable):ฟีเจอร์ที่ซื้อเพียงครั้งเดียวแล้วใช้งานได้ถาวร เช่น การปิดโฆษณา หรือการปลดล็อกแพ็กเกจฟีเจอร์พรีเมียมตลอดชีพ
การสมัครสมาชิกแบบต่ออายุอัตโนมัติ (Auto-Renewing Subscriptions):บริการที่ต่ออายุโดยอัตโนมัติตามความยินยอมของผู้ใช้ในรอบสัปดาห์ รายเดือน หรือรายปี
การสมัครสมาชิกแบบไม่ต่ออายุอัตโนมัติ (Non-Renewing Subscriptions):รูปแบบที่เปิดใช้งานตามระยะเวลาที่กำหนด แต่เมื่อหมดอายุ ผู้ใช้จะต้องทำการซื้อซ้ำด้วยตนเอง
สำหรับสินค้าแต่ละรายการ จำเป็นต้องเพิ่ม Product ID (รหัสผลิตภัณฑ์) ที่ไม่ซ้ำกัน นโยบายการกำหนดราคาในแต่ละท้องถิ่น และภาพหน้าจอเพื่อให้ทีมตรวจสอบสามารถทดสอบสินค้าได้ โดยมาตรฐานแล้ว Apple จะหักค่าคอมมิชชัน 30% จากยอดขายเหล่านี้ แต่หากได้รับการอนุมัติเข้าร่วมโครงการ "App Store Small Business Program" สำหรับธุรกิจขนาดเล็กที่มีรายได้ต่อปีต่ำกว่า 1 ล้านดอลลาร์สหรัฐ อัตรานี้จะลดลงเหลือ 15%
ขั้นตอนที่ 3: การสร้างบิลด์และการอัปโหลดแอปพลิเคชันผ่าน Xcode
การกำหนดหมายเลขเวอร์ชัน (Version) และหมายเลขบิลด์ (Build)
การจัดการการควบคุมเวอร์ชันอย่างถูกต้องในวงจรการพัฒนาซอฟต์แวร์มีความสำคัญอย่างยิ่งต่อความยั่งยืนตลอดวงจรชีวิตของแอปพลิเคชัน ในการตั้งค่า "General" ของโปรเจกต์ Xcode จะมีค่าพื้นฐาน 2 ค่า ได้แก่ Version และ Build ซึ่งค่าทั้งสองนี้ช่วยให้สามารถติดตามบน App Store Connect รวมถึงช่วยให้อุปกรณ์ของผู้ใช้ตรวจพบการอัปเดตได้
Version (เวอร์ชัน):คือหมายเลขเวอร์ชันที่ผู้ใช้เห็นในสโตร์ (เช่น
1.0.0) โดยทั่วไปจะกำหนดตามมาตรฐาน "Semantic Versioning" (การกำหนดเวอร์ชันตามความหมาย) ซึ่งอิงตามหลักการ Major (การเปลี่ยนแปลงครั้งใหญ่), Minor (ฟีเจอร์ใหม่) และ Patch (การแก้ไขข้อบกพร่อง)Build (บิลด์):คือหมายเลขการคอมไพล์ที่ไม่ซ้ำกันซึ่งใช้สำหรับการติดตามภายใน (เช่น
1หรือ2) หากคุณส่งบิลด์หลายครั้งภายใต้เวอร์ชันสโตร์เดียวกัน (1.0.0) คุณจำเป็นต้องเพิ่มหมายเลข Build ในทุกครั้งที่ส่ง มิฉะนั้น เซิร์ฟเวอร์ของ Apple จะปฏิเสธการอัปโหลดเนื่องจากเป็นไฟล์ซ้ำซ้อน
ความสอดคล้องของหมายเลขเหล่านี้สามารถจัดการแบบไดนามิกได้โดยใช้เครื่องมืออัตโนมัติ (เช่น Fastlane) โดยเฉพาะอย่างยิ่งในกระบวนการผสานรวมอย่างต่อเนื่องและการส่งมอบอย่างต่อเนื่อง (CI/CD) สำหรับการจัดการด้วยตนเอง ขอแนะนำให้ตรวจสอบฟิลด์เหล่านี้ด้วยตนเองก่อนดำเนินการจัดเก็บถาวร (Archive) ใน Xcode ทุกครั้ง
กระบวนการจัดเก็บถาวร (Archive) และขั้นตอนการตรวจสอบความถูกต้อง (การตรวจสอบข้อผิดพลาด)
เมื่อฐานโค้ดของคุณเสร็จสมบูรณ์ กระบวนการสร้างแพ็กเกจขั้นสุดท้ายของแอปพลิเคชันที่พร้อมส่งไปยังสโตร์จะเริ่มต้นขึ้น กระบวนการนี้เรียกว่า "การจัดเก็บถาวร" (Archiving) ในการเริ่มกระบวนการจัดเก็บถาวร ก่อนอื่นต้องเลือกอุปกรณ์จริงหรือตัวเลือก "Any iOS Device (arm64)" จากส่วนการเลือกอุปกรณ์เป้าหมายใน Xcode หากเลือกซิมูเลเตอร์ไว้ ตัวเลือกการจัดเก็บถาวรจะไม่เปิดใช้งาน
จากนั้น จากเมนูด้านบนProduct > Archiveคลิกเลือกเพื่อเริ่มกระบวนการคอมไพล์ กระบวนการคอมไพล์อาจใช้เวลาตั้งแต่สองสามนาทีไปจนถึงหลายชั่วโมงขึ้นอยู่กับขนาดของโปรเจกต์ เมื่อกระบวนการเสร็จสมบูรณ์ หน้าต่าง "Organizer" จะปรากฏขึ้น หน้าต่างนี้คือสถานีหลักที่คุณจะใช้ในการตรวจสอบความถูกต้องของไฟล์จัดเก็บถาวรที่สร้างขึ้น (Validate App) และเผยแพร่ไปยังเซิร์ฟเวอร์ของ Apple (Distribute App) การคลิกปุ่ม "Validate App" จะเป็นการนำแอปพลิเคชันของคุณผ่านการตรวจสอบเบื้องต้นภายในเครื่องก่อนส่งไปยัง Apple การตรวจสอบนี้ช่วยป้องกันไม่ให้คุณเสียเวลาโดยการตรวจหาข้อผิดพลาดทั่วไปล่วงหน้า เช่น ไอคอนแอปไม่ครบถ้วน, สถาปัตยกรรมเป้าหมายไม่ถูกต้อง, การใช้ API ที่ไม่รองรับ หรือการเข้าถึงไลบรารีที่ไม่ได้รับอนุญาต (เช่น ข้อผิดพลาด ITMS-90078)
การอัปโหลดแอปพลิเคชันไปยัง App Store Connect อย่างสำเร็จสมบูรณ์
ไฟล์จัดเก็บถาวรของคุณที่ผ่านขั้นตอนการตรวจสอบความถูกต้องโดยไม่มีข้อผิดพลาด พร้อมแล้วที่จะได้รับการอัปโหลดไปยังเซิร์ฟเวอร์คลาวด์ของ App Store Connect เมื่อคลิกที่ตัวเลือก "Distribute App" ในหน้าต่าง Organizer ระบบจะแจ้งให้คุณกำหนดวิธีการเผยแพร่ สำหรับแอปพลิเคชันที่จะเผยแพร่บน App Store ให้เลือกตัวเลือก "App Store Connect" เพื่อดำเนินการต่อ และในหน้าจอถัดไป ให้เลือก "Upload" เป็นวิธีการอัปโหลด
ในขั้นตอนนี้ Xcode จะตรวจสอบความถูกต้องของการจับคู่ระหว่าง Provisioning Profile และใบรับรองการเผยแพร่ (Distribution Certificate) ของโปรเจกต์โดยอัตโนมัติ หากเลือกตัวเลือก "Automatically manage signing" ไว้ Xcode จะซิงค์คีย์การเข้ารหัสที่จำเป็นกับพอร์ทัล Apple Developer ในเบื้องหลัง หลังจากกระบวนการอัปโหลดเริ่มต้นขึ้น ไฟล์ IPA จะถูกถ่ายโอนไปยังเซิร์ฟเวอร์ของ Apple โดยขึ้นอยู่กับขนาดของแอปพลิเคชันและความเร็วอินเทอร์เน็ตของคุณ เมื่อการถ่ายโอนเสร็จสมบูรณ์ หน้าจอยืนยันจะปรากฏขึ้น อย่างไรก็ตาม การยืนยันนี้ไม่ได้หมายความว่าแอปพลิเคชันจะพร้อมใช้งานได้ทันที บิลด์ที่อัปโหลดจะเข้าสู่กระบวนการสแกนความปลอดภัยและไลบรารีอัตโนมัติบนเซิร์ฟเวอร์ของ Apple (ขั้นตอน Processing) ระยะเวลาในการสแกนนี้อาจแตกต่างกันตั้งแต่ 10 นาทีไปจนถึงหลายชั่วโมงตามความซับซ้อนของแอปพลิเคชัน และเมื่อกระบวนการเสร็จสิ้น ระบบจะส่งอีเมลแจ้งเตือนไปยังนักพัฒนา
กระบวนการคอมไพล์โปรเจกต์ Xcode และถ่ายโอนไปยังเซิร์ฟเวอร์ App Store Connect ตั้งค่าอุปกรณ์เป้าหมายบน Xcode เป็น 'Any iOS Device (arm64)' และอัปเดตหมายเลขเวอร์ชัน/บิลด์ คลิกตัวเลือก Archive จากเมนู Product เพื่อคอมไพล์แพ็กเกจเวอร์ชันใช้งานจริงขั้นสุดท้ายของโปรเจกต์ ตรวจสอบความถูกต้อง (Validate) แอปพลิเคชันของคุณในหน้าต่าง Organizer จากนั้นใช้ตัวเลือก Distribute เพื่ออัปโหลดไปยัง App Store Connectขั้นตอนการคอมไพล์และอัปโหลดด้วย Xcode
การเลือกอุปกรณ์เป้าหมายและการตรวจสอบเวอร์ชัน
การเริ่มกระบวนการจัดเก็บถาวร (Archive)
การตรวจสอบความถูกต้องและการเผยแพร่สู่คลาวด์
ขั้นตอนที่ 4: ขั้นตอนการทดสอบเบต้าด้วย TestFlight
การจัดการผู้ทดสอบภายในและภายนอก
การทดสอบแอปพลิเคชันของคุณในสถานการณ์การใช้งานจริงก่อนเปิดตัวสู่สาธารณะ จะช่วยป้องกันการแครชที่สำคัญและข้อผิดพลาดด้านประสบการณ์ผู้ใช้ที่อาจเกิดขึ้น Apple จึงนำเสนอแพลตฟอร์มการทดสอบเบต้าที่ทรงพลังชื่อ TestFlight สำหรับกระบวนการนี้ ทุกบิลด์ที่อัปโหลดไปยัง App Store Connect สำเร็จและผ่านขั้นตอน "Processing" เรียบร้อยแล้ว จะพร้อมสำหรับการทดสอบผ่าน TestFlight โดยตรงทันที
คุณสามารถสร้างกลุ่มผู้ทดสอบได้สองกลุ่มที่แตกต่างกันบน TestFlight:
ผู้ทดสอบภายใน (Internal Testers):คือสมาชิกในทีมของคุณที่มีบทบาท เช่น "Admin", "Developer" หรือ "Marketer" ในบัญชี App Store Connect ของคุณ คุณสามารถเพิ่มผู้ใช้ภายในได้สูงสุด 100 คน บิลด์ที่อัปโหลดในขั้นตอนการทดสอบภายในจะถูกส่งตรงถึงผู้ทดสอบทันทีโดยไม่ต้องผ่านการตรวจสอบจาก Apple ซึ่งเป็นวิธีที่ยอดเยี่ยมสำหรับการวนรอบพัฒนาอย่างรวดเร็ว (iteration) และการทดสอบภายในองค์กร
ผู้ทดสอบภายนอก (External Testers):คือกลุ่มผู้ใช้จริงนอกองค์กร พันธมิตรทางธุรกิจ หรือชุมชนทดสอบเบต้า คุณสามารถกำหนดผู้ทดสอบภายนอกได้สูงสุด 10,000 คนต่อหนึ่งแอปพลิเคชัน ในการเริ่มต้นกระบวนการทดสอบภายนอก เวอร์ชันเบต้าของแอปพลิเคชันจะต้องได้รับการอนุมัติจากทีมตรวจสอบเบต้าของ Apple ก่อน โดยกระบวนการอนุมัตินี้มักจะเสร็จสิ้นภายในไม่กี่ชั่วโมง
การรวบรวมและประเมินผลข้อเสนอแนะจากการทดสอบเบต้า
TestFlight ไม่เพียงแต่อนุญาตให้เผยแพร่แอปพลิเคชันเท่านั้น แต่ยังมีกลไกการรับข้อเสนอแนะที่มีโครงสร้างชัดเจนอีกด้วย เมื่อผู้ทดสอบเบต้าแคปภาพหน้าจอของข้อผิดพลาดที่พบขณะใช้งานแอป พวกเขาสามารถส่งรายงานข้อผิดพลาด (Crash Log) ไปยังนักพัฒนาได้โดยตรงผ่านแอป TestFlight รายงานเหล่านี้จะประกอบด้วยข้อมูลทางเทคนิค เช่น รุ่นอุปกรณ์ของผู้ใช้ เวอร์ชัน iOS สถานะแบตเตอรี่ และบรรทัดของโค้ดที่เกิดข้อผิดพลาด
ทีมพัฒนาสามารถติดตามข้อเสนอแนะ สถิติการแครช และความคิดเห็นของผู้ใช้เหล่านี้ได้แบบเรียลไทม์ภายใต้แท็บ TestFlight ใน App Store Connect โดยเฉพาะในโปรเจกต์ระดับองค์กร ทีม QA (Quality Assurance) จะวิเคราะห์ข้อมูลเหล่านี้เพื่อวัดอัตราความเสถียรของแอปพลิเคชัน (Crash-Free Rate) ตามมาตรฐานอุตสาหกรรมแล้ว อัตรานี้ควรอยู่ที่ขั้นต่ำ 99.5% ขึ้นไป จึงจะสามารถเผยแพร่สู่สาธารณะบน App Store ได้
การตรวจสอบขั้นสุดท้ายก่อนเปิดตัวแอปพลิเคชัน
เมื่อสิ้นสุดกระบวนการทดสอบเบต้า จำเป็นต้องทำการวิเคราะห์ทางเทคนิคเป็นครั้งสุดท้ายสำหรับบิลด์ที่ใช้งานจริง (Production Build) ของแอปพลิเคชัน ในขั้นตอนนี้ ควรตรวจสอบว่าฐานข้อมูลภายในเครื่อง (เช่น CoreData, SQLite, Realm ฯลฯ) เกิดการแครชระหว่างกระบวนการถ่ายโอนข้อมูล (Migration) หรือไม่ รวมถึงตรวจสอบว่าใบรับรองการแจ้งเตือนแบบพุช (APNs) ได้รับการเปลี่ยนจากสภาพแวดล้อม Sandbox (ทดสอบ) ไปเป็น Production (ใช้งานจริง) อย่างสมบูรณ์แล้วหรือไม่
นอกจากนี้ ควรตรวจสอบพารามิเตอร์ด้านประสิทธิภาพของแอปพลิเคชัน การใช้หน่วยความจำ (Memory Leak) และการใช้พลังงานบนอุปกรณ์จริงด้วยเครื่องมือ Xcode Instruments เนื่องจากแอปพลิเคชันที่ใช้ทรัพยากรเบื้องหลังมากเกินไปหรือทำให้อุปกรณ์ร้อน จะได้รับคำวิจารณ์เชิงลบอย่างรวดเร็วหลังจากวางจำหน่ายบนสโตร์ และส่งผลเสียต่อชื่อเสียงของแบรนด์
ขั้นตอนที่ 5: การส่งเพื่อตรวจสอบ (Submit for Review) และกระบวนการอนุมัติ
การระบุข้อมูลการทดสอบที่จำเป็นสำหรับทีม App Review
ขั้นตอนสุดท้ายเพื่อให้แอปพลิเคชันของคุณเปิดให้ใช้งานทั่วไป คือการส่งให้กับทีม App Review (การตรวจสอบแอป) อย่างเป็นทางการของ Apple ในแดชบอร์ด App Store Connect คุณต้องไปที่หน้าจอ "Prepare for Submission" และเลือกบิลด์ (build) ที่ผ่านการอนุมัติซึ่งคุณต้องการให้ตรวจสอบ อย่างไรก็ตาม เพื่อให้ทีมตรวจสอบสามารถทดสอบแอปของคุณได้ คุณจะต้องจัดเตรียมเครื่องมือและการเข้าถึงที่จำเป็นทั้งหมดให้กับพวกเขา
ภายใต้หัวข้อ "App Review Information" คุณจำเป็นต้องระบุบัญชีผู้ใช้ทดสอบ (ชื่อผู้ใช้และรหัสผ่าน) ที่ใช้งานได้จริงเพื่อให้ทีมงานสามารถเข้าสู่ระบบได้ หากแอปพลิเคชันของคุณต้องใช้การยืนยันตัวตนแบบสองขั้นตอน (เช่น SMS OTP, Authenticator เป็นต้น) คุณจะต้องตั้งค่ากลไกพิเศษสำหรับทีมตรวจสอบเพื่อข้ามขั้นตอนความปลอดภัยเหล่านี้ หรือทำงานด้วยรหัสทดสอบ นอกจากนี้ หากแอปพลิเคชันต้องใช้ฮาร์ดแวร์เฉพาะในการทำงาน (เช่น อุปกรณ์ IoT อัจฉริยะ หรือการเชื่อมต่อบลูทูธ) คุณควรเตรียมวิดีโอสาธิตอย่างละเอียดที่แสดงให้เห็นว่าแอปพลิเคชันมีปฏิสัมพันธ์กับฮาร์ดแวร์นี้อย่างไร แล้วแนบลงในส่วน "Review Notes" (บันทึกการตรวจสอบ) การขาดข้อมูลเหล่านี้จะทำให้แอปพลิเคชันถูกระงับทันทีด้วยเหตุผล "Guideline 2.1 - Information Needed"
ระยะเวลาการตรวจสอบและวิธีเร่งกระบวนการให้เร็วขึ้น
Apple ได้เร่งกระบวนการตรวจสอบให้เร็วขึ้นอย่างมากเมื่อเทียบกับปีที่ผ่านๆ มา กระบวนการอนุมัติที่เคยใช้เวลาหลายสัปดาห์ในอดีต ปัจจุบันลดลงเหลือเฉลี่ยระหว่าง 24 ถึง 48 ชั่วโมงตามข้อมูลล่าสุด ระยะเวลานี้อาจยาวนานขึ้นในช่วงสุดสัปดาห์หรือช่วงวันหยุดสากล (เช่น ช่วงคริสต์มาสที่ทีมงาน Apple หยุดทำการ)
ในกรณีฉุกเฉิน คุณสามารถขอใช้กลไก "Expedited Review" (การตรวจสอบแบบเร่งด่วน) ของ Apple เพื่อเร่งกระบวนการตรวจสอบได้ อย่างไรก็ตาม สิทธิ์นี้มีจำกัดและจะได้รับการอนุมัติเฉพาะในกรณีของการปิดช่องโหว่ความปลอดภัยทางไซเบอร์ที่ร้ายแรงอย่างยิ่ง การแก้ไขข้อผิดพลาดร้ายแรงที่ขัดขวางการทำงานของแอปพลิเคชันอย่างสมบูรณ์ หรือกรณีที่เกี่ยวข้องโดยตรงกับกิจกรรมระดับนานาชาติที่มีกรอบเวลาจำกัดและไม่สามารถเลื่อนออกไปได้ คำขอเร่งด่วนที่ส่งด้วยเหตุผลตามอำเภอใจจะถูกปฏิเสธโดย Apple
การติดตามสถานะแอปพลิเคชันและการสื่อสาร
หลังจากส่งแอปพลิเคชันของคุณโดยคลิกปุ่ม "Submit for Review" แล้ว คุณสามารถติดตามทุกขั้นตอนของกระบวนการได้แบบเรียลไทม์ผ่านแดชบอร์ด App Store Connect และแอปพลิเคชันบนมือถือ โดยสถานะของแอปพลิเคชันของคุณจะผ่านขั้นตอนต่างๆ ตามลำดับดังนี้:
Waiting for Review (กำลังรอการตรวจสอบ):แอปพลิเคชันเข้าคิวแล้ว แต่ยังไม่ได้รับการเปิดดูโดยผู้เชี่ยวชาญด้านการทดสอบของ Apple
In Review (อยู่ระหว่างการตรวจสอบ):ผู้เชี่ยวชาญด้านการทดสอบได้ดาวน์โหลดแอปพลิเคชันของคุณและเริ่มการตรวจสอบโดยใช้ข้อมูลการทดสอบแล้ว ในขั้นตอนนี้ คุณสามารถเห็นได้ว่าแอปพลิเคชันกำลังส่งคำขอ (request) ไปยังเซิร์ฟเวอร์ทดสอบของคุณอย่างต่อเนื่อง
Ready for Sale (พร้อมวางจำหน่าย):แอปพลิเคชันได้รับการอนุมัติและเผยแพร่บน App Store แล้ว
Rejected (ถูกปฏิเสธ):แอปพลิเคชันถูกปฏิเสธเนื่องจากไม่เป็นไปตามแนวทางปฏิบัติ
หากแอปพลิเคชันของคุณถูกปฏิเสธ คุณสามารถสื่อสารเป็นลายลักษณ์อักษรโดยตรงกับทีมตรวจสอบผ่าน "Resolution Center" (ศูนย์แก้ไขปัญหา) ซึ่งผสานรวมอยู่ในแดชบอร์ด ผู้เชี่ยวชาญด้านการตรวจสอบจะแจ้งเหตุผลในการปฏิเสธพร้อมภาพหน้าจอที่เกี่ยวข้อง รายงานข้อขัดข้อง (crash report) และข้อกำหนดของแนวทางปฏิบัติที่มีการละเมิด จากส่วนนี้ คุณสามารถตอบคำถามของทีมงาน ยื่นเอกสารเพิ่มเติม หรืออัปโหลดบิลด์ (build) ใหม่ที่คุณแก้ไขข้อผิดพลาดแล้ว เพื่อดำเนินกระบวนการต่อจากจุดเดิมได้
สาเหตุการปฏิเสธที่พบบ่อยโดย Apple และวิธีแก้ไข
การละเมิดแนวทางปฏิบัติของ App Store (ความเป็นส่วนตัว ประสิทธิภาพ การออกแบบ)
ความมุ่งมั่นของ Apple ในการรักษาคุณภาพบน App Store ส่งผลให้นักพัฒนาถูกปฏิเสธมากที่สุดเนื่องจาก "App Review Guidelines" (แนวทางการตรวจสอบแอป) เบื้องหลังการปฏิเสธเหล่านี้มักมาจากสามหัวข้อหลัก ได้แก่ ความเป็นส่วนตัว (Privacy) ประสิทธิภาพ (Performance) และการออกแบบ (Design)
การละเมิดความเป็นส่วนตัว (Guideline 5.1.1):การขอสิทธิ์อนุญาตที่ไม่จำเป็นจากผู้ใช้ (เช่น แอปแต่งรูปที่ขอข้อมูลตำแหน่งที่ตั้งหรือรายชื่อติดต่อของผู้ใช้) เป็นหนึ่งในสาเหตุการปฏิเสธที่พบบ่อยที่สุด สำหรับทุกสิทธิ์ที่ร้องขอ (กล้อง ตำแหน่งที่ตั้ง การแจ้งเตือน ฯลฯ)
Info.plistในไฟล์ ข้อความคำอธิบาย (Usage Description) ที่จะแสดงแก่ผู้ใช้ จำเป็นต้องเขียนให้ชัดเจนอย่างยิ่ง ตรงไปตรงมา และมุ่งเน้นที่การใช้งานจริงเป็นสำคัญปัญหาด้านประสิทธิภาพ (Guideline 2.1):คือกรณีที่ผู้เชี่ยวชาญด้านการทดสอบพบว่าแอปพลิเคชันเกิดการแครช (crash) ค้าง หรือติดอยู่ที่หน้าจอโหลดไม่รู้จบในระหว่างการตรวจสอบ Apple จะไม่อนุญาตให้แอปพลิเคชันใดๆ ที่ทำงานไม่เสถียรวางจำหน่ายในสโตร์อย่างเด็ดขาด
ข้อบกพร่องด้านการออกแบบ (Guideline 4.0):คือการไม่ปฏิบัติตามมาตรฐานการออกแบบเฉพาะของแพลตฟอร์ม iOS (Human Interface Guidelines) อินเทอร์เฟซมีความซับซ้อนเกินไป หรือแอปพลิเคชันไม่ได้มอบคุณค่าเพิ่มใดๆ ให้แก่ผู้ใช้ที่แตกต่างไปจากเว็บไซต์บนมือถือ
ข้อมูลไม่ครบถ้วนหรือไม่สามารถทดสอบแอปพลิเคชันได้
หนึ่งในข้อผิดพลาดที่นักพัฒนามักทำบ่อยครั้ง คือการสันนิษฐานว่าบริการเบื้องหลังหรือฐานข้อมูลพร้อมสำหรับสภาพแวดล้อมการทดสอบแล้วเมื่อส่งมอบแอปพลิเคชัน หากแอปพลิเคชันของคุณต้องมีการสมัครสมาชิก และคุณให้บัญชีทดสอบที่ใช้งานไม่ได้ หมดอายุ หรือไม่ถูกต้องแก่ทีมตรวจสอบ แอปพลิเคชันจะถูกระงับภายในไม่กี่วินาทีตามข้อกำหนด "Guideline 2.1 - Performance: Information Needed"
ในทำนองเดียวกัน หากแอปพลิเคชันมีข้อจำกัดด้านตำแหน่งทางภูมิศาสตร์ในการทำงาน (เช่น บริการแผนที่ที่ทำงานได้เฉพาะภายในเขตแดนของประเทศตุรกีเท่านั้น) จะต้องจัดเตรียมข้อมูลตำแหน่งจำลองหรืออินเทอร์เฟซสำหรับทดสอบเฉพาะ เพื่อให้ผู้เชี่ยวชาญด้านการทดสอบของ Apple ในสหรัฐอเมริกาสามารถมองเห็นแผนที่และฟีเจอร์เหล่านี้ได้ หากผู้ทดสอบไม่สามารถเข้าถึงฟังก์ชันหลักของแอปพลิเคชันได้ กระบวนการตรวจสอบจะถูกยุติลงทันที
สิ่งที่ต้องทำหลังจากถูกปฏิเสธและการส่งตรวจใหม่อีกครั้ง
การที่แอปพลิเคชันถูกปฏิเสธไม่ได้หมายความว่าโครงการนั้นล้มเหลว สถานการณ์นี้เป็นเรื่องปกติในระบบนิเวศของ iOS สิ่งสำคัญคือการวิเคราะห์การแจ้งเตือนการปฏิเสธอย่างมืออาชีพและดำเนินการแก้ไขอย่างถูกต้อง เมื่อคุณอ่านข้อความที่ส่งมาจาก Resolution Center คุณจะเห็นว่าผู้เชี่ยวชาญของ Apple ระบุไว้อย่างชัดเจนว่าไม่สามารถทดสอบสิ่งใดได้ หรือคุณละเมิดกฎข้อใด
หากปัญหาเป็นเพียงข้อมูลไม่ครบถ้วนหรือข้อความคำอธิบายที่ไม่ถูกต้อง คุณสามารถดำเนินการแก้ไขที่จำเป็นผ่าน App Store Connect ได้โดยตรงโดยไม่ต้องแตะต้องโค้ดเบส และตอบกลับผู้ตรวจสอบผ่าน Resolution Center เพื่อดำเนินการต่อ แต่หากปัญหาเกิดจากข้อผิดพลาดด้านการออกแบบหรือข้อผิดพลาดทางเทคนิคที่ทำให้แอปขัดข้อง (Crash) คุณจะต้องจำลองข้อผิดพลาดและแก้ไขในสภาพแวดล้อมการพัฒนาในเครื่อง หลังจากแก้ไขโค้ดแล้ว ให้เพิ่มเฉพาะหมายเลขบิลด์ (Build number) โดยไม่ต้องเปลี่ยนหมายเลขเวอร์ชัน (เช่น:1แทนที่จะเป็น2) แล้วอัปโหลดแพ็กเกจใหม่ด้วย Xcode จากนั้นเลือกบิลด์ที่เป็นปัจจุบันเพื่อส่งเข้ารับการตรวจสอบใหม่อีกครั้ง (Resubmit)
คำถามที่พบบ่อย
คำถามที่ 1: การอัปโหลดแอปพลิเคชันขึ้น App Store มีค่าใช้จ่ายหรือไม่?
คำตอบที่ 1: ในการอัปโหลดแอปพลิเคชันขึ้น App Store คุณต้องสมัครสมาชิก Apple Developer Program ซึ่งมีค่าธรรมเนียมรายปีอยู่ที่ 99 USD
คำถามที่ 2: บัญชีนักพัฒนา App Store ราคาเท่าไร?
คำตอบที่ 2: บัญชีนักพัฒนาประเภทบุคคลทั่วไปและนิติบุคคลมาตรฐานมีค่าบริการรายปี 99 USD ในขณะที่บัญชี Enterprise สำหรับการแจกจ่ายภายในองค์กรมีค่าบริการรายปี 299 USD
คำถามที่ 3: ระยะเวลาการอนุมัติแอปพลิเคชันบน App Store ใช้เวลานานเท่าใด?
คำตอบที่ 3: ด้วยโครงสร้างพื้นฐานการตรวจสอบในปัจจุบันของ Apple กระบวนการอนุมัติมักจะเสร็จสิ้นภายใน 24 ถึง 48 ชั่วโมง
คำถามที่ 4: ฉันจะอัปโหลดแอปพลิเคชันที่พัฒนาขึ้นเองขึ้น App Store ได้อย่างไร?
คำตอบที่ 4: คุณต้องทำการจัดเก็บแอปพลิเคชัน (Archive) โดยใช้ Xcode บนระบบปฏิบัติการ macOS ลงนามด้วยใบรับรอง (Certificates) และส่งผ่านแดชบอร์ด App Store Connect
คำถามที่ 5: เหตุใด Apple จึงปฏิเสธแอปพลิเคชันของฉัน?
คำตอบที่ 5: สาเหตุที่พบบ่อย ได้แก่ ข้อมูลบัญชีทดสอบไม่ครบถ้วน การไม่ปฏิบัติตามมาตรฐานการออกแบบ ข้อผิดพลาดที่ทำให้แอปขัดข้อง (Crash) และคำอธิบายเกี่ยวกับนโยบายความเป็นส่วนตัวที่ไม่เพียงพอ
คำถามที่ 6: หมายเลข DUNS คืออะไร และเหตุใดจึงจำเป็นสำหรับบัญชีองค์กร?
คำตอบที่ 6: DUNS คือหมายเลขเฉพาะ 9 หลักที่ใช้ยืนยันตัวตนองค์กรของคุณในระดับสากล และ Apple กำหนดให้ต้องมีเพื่อความปลอดภัยระดับองค์กร
คำถามที่ 7: อัตราค่าคอมมิชชันและการหักภาษีของ App Store ทำงานอย่างไร?
คำตอบที่ 7: อัตราค่าคอมมิชชันมาตรฐานอยู่ที่ 30% แต่สำหรับนักพัฒนาที่มีรายได้ต่อปีต่ำกว่า 1 ล้าน USD อัตรานี้สามารถปรับลดลงเหลือ 15% ได้
คำถามที่ 8: ผู้ใช้ที่ไม่ได้อยู่ใน TestFlight สามารถทดสอบแอปพลิเคชันได้อย่างไร?
คำตอบที่ 8: สำหรับผู้ใช้ภายนอก สามารถแจกจ่ายแบบจำกัดนอกเหนือจาก TestFlight ได้ผ่านแดชบอร์ด App Store Connect โดยใช้โปรไฟล์การจัดเตรียม (Provisioning Profile) แบบ Ad-Hoc หรือ Enterprise โดยเฉพาะ
คำถามที่พบบ่อย
คำถามที่ 1: การอัปโหลดแอปพลิเคชันขึ้น App Store มีค่าใช้จ่ายหรือไม่?
คำตอบที่ 1: ในการอัปโหลดแอปพลิเคชันขึ้น App Store คุณต้องสมัครสมาชิก Apple Developer Program ซึ่งมีค่าธรรมเนียมรายปีอยู่ที่ 99 USD
คำถามที่ 2: บัญชีนักพัฒนา App Store ราคาเท่าไร?
คำตอบที่ 2: บัญชีนักพัฒนาประเภทบุคคลทั่วไปและนิติบุคคลมาตรฐานมีค่าบริการรายปี 99 USD ในขณะที่บัญชี Enterprise สำหรับการแจกจ่ายภายในองค์กรมีค่าบริการรายปี 299 USD
คำถามที่ 3: ระยะเวลาการอนุมัติแอปพลิเคชันบน App Store ใช้เวลานานเท่าใด?
คำตอบที่ 3: ด้วยโครงสร้างพื้นฐานการตรวจสอบในปัจจุบันของ Apple กระบวนการอนุมัติมักจะเสร็จสิ้นภายใน 24 ถึง 48 ชั่วโมง
คำถามที่ 4: ฉันจะอัปโหลดแอปพลิเคชันที่พัฒนาขึ้นเองขึ้น App Store ได้อย่างไร?
คำตอบที่ 4: คุณต้องทำการจัดเก็บแอปพลิเคชัน (Archive) โดยใช้ Xcode บนระบบปฏิบัติการ macOS ลงนามด้วยใบรับรอง (Certificates) และส่งผ่านแดชบอร์ด App Store Connect
คำถามที่ 5: เหตุใด Apple จึงปฏิเสธแอปพลิเคชันของฉัน?
คำตอบที่ 5: สาเหตุที่พบบ่อย ได้แก่ ข้อมูลบัญชีทดสอบไม่ครบถ้วน การไม่ปฏิบัติตามมาตรฐานการออกแบบ ข้อผิดพลาดที่ทำให้แอปขัดข้อง (Crash) และคำอธิบายเกี่ยวกับนโยบายความเป็นส่วนตัวที่ไม่เพียงพอ
คำถามที่ 6: หมายเลข DUNS คืออะไร และเหตุใดจึงจำเป็นสำหรับบัญชีองค์กร?
คำตอบที่ 6: DUNS คือหมายเลขเฉพาะ 9 หลักที่ใช้ยืนยันตัวตนองค์กรของคุณในระดับสากล และ Apple กำหนดให้ต้องมีเพื่อความปลอดภัยระดับองค์กร
คำถามที่ 7: อัตราค่าคอมมิชชันและการหักภาษีของ App Store ทำงานอย่างไร?
คำตอบที่ 7: อัตราค่าคอมมิชชันมาตรฐานอยู่ที่ 30% แต่สำหรับนักพัฒนาที่มีรายได้ต่อปีต่ำกว่า 1 ล้าน USD อัตรานี้สามารถปรับลดลงเหลือ 15% ได้
คำถามที่ 8: ผู้ใช้ที่ไม่ได้อยู่ใน TestFlight สามารถทดสอบแอปพลิเคชันได้อย่างไร?
คำตอบที่ 8: สำหรับผู้ใช้ภายนอก สามารถแจกจ่ายแบบจำกัดนอกเหนือจาก TestFlight ได้ผ่านแดชบอร์ด App Store Connect โดยใช้โปรไฟล์การจัดเตรียม (Provisioning Profile) แบบ Ad-Hoc หรือ Enterprise โดยเฉพาะ