# เผยแพร่แอป iOS โดยไม่มี Mac: คู่มือ Expo และ EAS

> จากพีซี Windows คุณใช้ Expo และ EAS คอมไพล์และส่งแอป iOS ให้ Apple ได้ แต่ยังต้องมีบัญชี Apple Developer และ iPhone ไว้ทดสอบ

หน้าต้นฉบับ: [เผยแพร่แอป iOS โดยไม่มี Mac: คู่มือ Expo และ EAS](https://devoria.fr/th/blog/publish-ios-app-without-mac-expo-eas)
ผู้เขียน: [Mehdi Azizi](https://devoria.fr/th/mehdi-azizi)
เผยแพร่: 2026-09-23
แก้ไขเนื้อหาล่าสุด: 2026-10-09


## เผยแพร่แอป iOS โดยไม่มี Mac ได้ไหม?

ได้ครับ คุณเผยแพร่แอป iOS โดยไม่มี Mac ได้ ถ้าสร้างแอปด้วย Expo และ React Native โดย EAS Build จะคอมไพล์แอปของคุณบนเครื่อง Mac ที่ Expo โฮสต์ไว้บนคลาวด์ แล้ว EAS Submit จะส่งต่อไปยัง App Store Connect เอกสารของ Expo เขียนไว้ชัดเจนว่า EAS Submit ทำงานได้บน macOS, Linux และ Windows [คุณจึงไม่ต้องมี Mac เพื่อส่งบิลด์ iOS](https://docs.expo.dev/submit/ios/)

แต่มีสามอย่างที่ไม่มีอะไรมาแทนได้: [บัญชี Apple Developer แบบเสียเงิน](https://devoria.fr/th/blog/apple-developer-account-price-free-or-99), iPhone สำหรับทดสอบแอปของจริง และเบราว์เซอร์สำหรับกรอกหน้าแอปใน App Store Connect ส่วนที่เหลือของคู่มือนี้จะอธิบายว่าอะไรทำได้จากพีซี Windows อะไรติดขัด และขั้นตอนเรียงตามลำดับ

แอป iOS ทุกตัวของผมผ่านเส้นทางนี้: Expo, EAS Build แล้วก็ EAS Submit ทั้ง Solys และ TradaZen ขึ้น App Store ด้วยวิธีนี้ ผมทำงานบน Mac ก็จริง แต่ไม่มีขั้นตอนไหนของการเผยแพร่ที่ต้องพึ่ง Mac เลย บิลด์ทำบนคลาวด์ของ Expo และการส่งให้ Apple ทำผ่านคอมมานด์ไลน์

## Expo และ EAS มาแทน Mac ได้อย่างไร

จะเข้าใจว่าอะไรทำได้ ต้องรู้ก่อนว่าทำไม Mac เคยเป็นของบังคับ แอป iOS ต้องคอมไพล์ด้วย Xcode ซึ่งเป็นเครื่องมือของ Apple ที่รันได้แค่บน macOS และต้องเป็นเวอร์ชันที่ใหม่พอจะไม่โดนปฏิเสธด้วย ITMS-90725 จากนั้นต้องเซ็นด้วยใบรับรองที่ผูกกับบัญชีนักพัฒนาของคุณ แล้วส่งไปที่ App Store Connect

Expo แบ่งงานนี้ออกเป็นสามเครื่องมือ:

- **Expo และ React Native**: คุณเขียนแอปด้วย JavaScript หรือ TypeScript บนคอมพิวเตอร์เครื่องไหนก็ได้
- **EAS Build**: คุณสั่งคำสั่งจากพีซี โค้ดจะถูกส่งไปที่ Mac ของ Expo ซึ่งคอมไพล์และเซ็นแอปให้ คุณได้ไฟล์ที่พร้อมติดตั้งหรือพร้อมส่งกลับมา
- **[EAS Submit](https://devoria.fr/th/blog/eas-submit-ios-publish-expo-app-store)**: นำบิลด์นั้นส่งไปที่ App Store Connect หลังจาก Apple ประมวลผล ซึ่งจะตรวจสิ่งต่าง ๆ เช่นไอคอน (ITMS-90717) บิลด์จะไปโผล่ใน TestFlight

Mac ยังอยู่ในกระบวนการเหมือนเดิม แค่ไม่ใช่เครื่องของคุณเท่านั้นเอง ถ้าอยากรู้ว่าทำไมผมแนะนำสแตกนี้ให้มือใหม่ อ่านหน้า [React Native และ Expo สำหรับแอปมือถือ](https://devoria.fr/th/expertise/react-native-expo-mobile-app)

## สิ่งที่ทำได้จากพีซี Windows

### เขียนโค้ดแอป

งานพัฒนาทั้งหมดทำบน Windows ได้โดยไม่มีข้อจำกัด: เอดิเตอร์ของคุณ (VS Code, Cursor), Node.js, เทอร์มินัล ถ้าคุณเขียนโค้ดโดยมี Claude หรือ ChatGPT ช่วย ก็ไม่มีอะไรเปลี่ยน เรื่องนี้อ่านต่อได้ที่ [สร้างแอป iOS ด้วย AI](https://devoria.fr/th/blog/build-ios-app-with-ai-pitfalls-checks)

### ดูแอปบน iPhone ระหว่างที่เขียนโค้ด

ช่วงเริ่มต้น แอป Expo Go ที่ติดตั้งบน iPhone จะสแกน QR code ที่แสดงในเทอร์มินัลแล้วโหลดโปรเจกต์ของคุณ ทุกการแก้ไขจะปรากฏบนโทรศัพท์ภายในไม่กี่วินาที เหมาะมากสำหรับหน้าจอแรก ๆ ตั้งแต่เดือนพฤษภาคม 2026 [Expo Go เวอร์ชันบน App Store ยังอยู่ที่ SDK 54](https://expo.dev/changelog/expo-go-and-app-store-may-2026) ให้สร้างโปรเจกต์โดยเลือกให้เข้ากันได้กับเวอร์ชันนี้ หรือใช้ `eas go` กับ TestFlight ถ้าต้องการ SDK ที่ใหม่กว่า

Expo Go มีข้อจำกัด: มีแค่โมดูลเนทีฟที่ Expo จัดมาให้ ทันทีที่แอปของคุณใช้ไลบรารีเนทีฟที่ไม่มีในนั้น เช่น SDK ของ RevenueCat สำหรับระบบสมัครสมาชิก คุณจะต้องใช้ development build คือแอปเวอร์ชันของคุณเองที่คอมไพล์โดย EAS Build แล้วติดตั้งลง iPhone

### ติดตั้งบิลด์ลง iPhone โดยไม่ผ่าน App Store

EAS มีระบบแจกจ่ายภายใน (internal distribution) คุณลงทะเบียน iPhone ด้วยคำสั่ง `eas device:create` แล้วสั่งบิลด์แบบ distribution `internal` คุณจะได้ลิงก์สำหรับติดตั้ง Apple จำกัดวิธีนี้ไว้: [หนึ่งบัญชีแจกจ่ายแบบนี้ได้ไม่เกิน 100 เครื่องต่อปี](https://docs.expo.dev/build/internal-distribution/) และทุกครั้งที่เพิ่มเครื่องใหม่ต้องบิลด์ใหม่หรือเซ็นใหม่ ถ้าใช้เองคนเดียวกับคนใกล้ชิดไม่กี่คน แค่นี้ก็เกินพอ

### จัดการใบรับรองโดยไม่ต้องใช้ Xcode

การเซ็นแอปคือจุดที่มือใหม่บน Mac ติดกันมากที่สุด จนถึงขั้นเจอข้อผิดพลาด ITMS-90034 ตอนส่ง แต่กับ EAS คุณล็อกอินบัญชี Apple จากคอมมานด์ไลน์ แล้วเครื่องมือ[สร้างใบรับรองสำหรับเผยแพร่และ provisioning profile ให้เองได้](https://docs.expo.dev/build/setup/) คุณไม่ต้องเปิด Keychain Access เลย

### ส่งแอปให้ Apple และเผยแพร่

`eas submit --platform ios` จะส่งบิลด์ของคุณไปที่ App Store Connect หรือจะรวบสองขั้นตอนด้วยออปชัน `--auto-submit` ของ `eas build` ก็ได้ ที่เหลือทั้งหมดทำในเบราว์เซอร์: หน้าแอปใน App Store, [ภาพหน้าจอ](https://devoria.fr/th/blog/app-store-screenshot-sizes-2026), การประกาศเรื่องความเป็นส่วนตัว, ระบบสมัครสมาชิก, TestFlight และการส่งรีวิว App Store Connect เป็นเว็บแอป ใช้บน Windows ได้สบาย

## สิ่งที่ทำไม่ได้ (หรือยากขึ้น) เมื่อไม่มี Mac

### iOS Simulator บนเครื่อง

iOS Simulator เป็นส่วนหนึ่งของ Xcode จึงรันบน Windows ไม่ได้ ในทางปฏิบัติไม่ใช่ปัญหา เพราะ iPhone ของคุณทดสอบได้ดีกว่าซิมูเลเตอร์อยู่แล้ว Expo ประกาศซิมูเลเตอร์ iOS บนคลาวด์ชื่อ [EAS Simulator](https://expo.dev/blog/build-ios-apps-on-windows-with-cloud-simulators) เมื่อเดือนกันยายน 2026 แต่ตอนที่ผมเขียนยังเปิดให้ใช้แบบจำกัดอยู่ อย่าเพิ่งวางแผนงานโดยพึ่งมันจนกว่าจะเปิดให้ทุกคนใช้

### ดีบักโค้ดเนทีฟ

ถ้าแอปแครชเพราะโค้ดเนทีฟ (Swift, Objective-C หรือไลบรารีที่ตั้งค่าผิด) เครื่องมือวิเคราะห์ของ Apple อยู่ใน Xcode ถ้าไม่มี Mac คุณต้องพึ่งล็อกบิลด์ของ EAS และเครื่องมืออย่าง Sentry ที่รายงานการแครชจากแอปที่ติดตั้งแล้ว ทำได้แต่ช้ากว่า นี่จึงเป็นเหตุผลที่แอปแรกควรใช้แต่ไลบรารีที่รองรับ Expo และยังมีคนดูแลอยู่ ซึ่งช่วยเลี่ยงการโดนปฏิเสธด้วย ITMS-90338 ตอนส่งด้วย

### เขียนส่วนขยายเนทีฟเอง

วิดเจ็ต, notification extension, target เนทีฟเฉพาะทาง: ทำได้กับ Expo ด้วย config plugin แต่ถ้าไม่มี Xcode ไว้ตรวจดูโปรเจกต์ที่ถูกสร้างขึ้น ทุกข้อผิดพลาดจะกินบิลด์เพิ่มอีกหนึ่งครั้ง สำหรับแอปแรก เก็บฟีเจอร์พวกนี้ไว้ทีหลัง

### คอมไพล์บนเครื่องตัวเอง

บิลด์แบบ local ของ EAS (ออปชัน `--local`) [ไม่รองรับบน Windows](https://docs.expo.dev/build-reference/local-builds/) บนพีซี บิลด์ iOS ของคุณจึงต้องผ่านคลาวด์ของ Expo แพ็กเกจฟรีของ EAS ให้จำนวนบิลด์ต่อเดือนแบบจำกัดและมีคิวรอ ตรวจเงื่อนไขล่าสุดในหน้าราคาของ Expo ก่อนวางแผนสัปดาห์ที่ต้องทำงานหนัก

## บัญชี Apple Developer: บังคับ ไม่มีข้อยกเว้น

ไม่มีทริกไหนเลี่ยงข้อนี้ได้ แม้แต่ Apple Developer Enterprise Program ซึ่งสงวนไว้สำหรับแอปภายในขององค์กรใหญ่ ถ้าไม่มี[การเป็นสมาชิก Apple Developer Program](https://devoria.fr/th/blog/apple-developer-membership-renewal-cancellation) ก็ไม่มี App Store Connect ไม่มี TestFlight ไม่มีการแจกจ่ายภายใน และ[ส่งขึ้น App Store ไม่ได้](https://developer.apple.com/support/compare-memberships/) ค่าสมาชิกคือ [99 ดอลลาร์ต่อปี](https://developer.apple.com/help/account/membership/programs-overview/) ตัดเป็นสกุลเงินของคุณ

คำแนะนำสองข้อก่อนสมัคร:

- **เลือกให้ดีระหว่างบัญชีบุคคลกับองค์กร** ถ้าเป็นบุคคล ชื่อของคุณจะแสดงเป็นผู้ขายบน App Store ถ้าเป็นองค์กร จะแสดงชื่อองค์กรของคุณ แต่ Apple จะขอหมายเลข D-U-N-S และใช้เวลาตรวจสอบนานกว่า
- **เผื่อเวลาไว้สักสองสามวัน** การอนุมัติบัญชีไม่ได้เกิดขึ้นทันทีเสมอไป สมัครทันทีที่รู้ว่าจะเผยแพร่ ไม่ใช่วันก่อนส่ง

## ทำไมต้องมี iPhone ไว้ทดสอบจริง ๆ

ในทางเทคนิค คุณเผยแพร่แอป iOS ได้โดยไม่เคยถือมันในมือเลย ผมไม่แนะนำอย่างยิ่ง และ Apple ก็เช่นกัน: [แนวทางการรีวิว](https://developer.apple.com/app-store/review/guidelines/) (guideline 2.1) กำหนดให้ทดสอบแอปบนอุปกรณ์จริงเรื่องบั๊กและความเสถียรก่อนส่ง ส่วนผู้ใช้ของคุณก็จะมีแค่สิ่งนั้น คือ iPhone ของจริง

นี่คือสิ่งที่มีแต่ iPhone จริงเท่านั้นที่บอกคุณได้:

- **การเปิดแอปครั้งแรกจริง ๆ** โดยไม่มีเซิร์ฟเวอร์ dev: ตรงนี้แหละที่แอปแครชตอนเปิดมักซ่อนอยู่
- **การซื้อภายในแอป** ในสภาพแวดล้อมทดสอบ เพื่อเช็กว่า paywall แสดงราคาถูกต้อง และการสมัครสมาชิกปลดล็อกแอปจริง
- **การแจ้งเตือน, กล้อง, การสั่น, การขอสิทธิ์** ซึ่งที่อื่นทำงานต่างออกไปหรือไม่ทำงานเลย
- **เลย์เอาต์จริง**: รอยบากหรือ Dynamic Island, แถบโฮม, คีย์บอร์ดที่บังช่องกรอก
- **ความลื่นไหล** ซึ่งคอมพิวเตอร์แรง ๆ มักกลบไว้

iPhone มือสองรุ่นใหม่ ๆ ก็พอ ขอแค่รัน iOS เวอร์ชันที่ Expo SDK ของคุณรองรับ และถ้าทำได้ ให้ยืม iPhone ขนาดต่างกันมาด้วย แอปที่ดูดีบนจอใหญ่อาจถูกตัดบนจอเล็ก นี่คือสิ่งที่ทำให้ Solys ของผมโดนปฏิเสธพอดี เล่าไว้ใน[ทำไม Apple ปฏิเสธแอป](https://devoria.fr/th/blog/apple-app-rejection-reasons-real-cases)

> ไม่มี Mac ก็ทำได้ แต่ถ้าไม่มี iPhone คุณกำลังส่งแอปที่ไม่เคยเห็นมันทำงานไปให้ Apple

## ขั้นตอนตามลำดับ จาก Windows

1. **สร้างโปรเจกต์** ด้วย `npx create-expo-app` แล้วทดสอบหน้าจอแรก ๆ ด้วย Expo Go
2. **ติดตั้ง EAS CLI** ด้วย `npm install -g eas-cli` แล้วตามด้วย `eas login` และ `eas build:configure`
3. **สมัคร Apple Developer Program** ทันทีที่โปรเจกต์เริ่มเป็นรูปเป็นร่าง
4. **ลงทะเบียน iPhone** ด้วย `eas device:create` แล้วสั่ง development build
5. **สร้างหน้าแอป** ใน App Store Connect โดยใช้ bundle identifier เดียวกับในคอนฟิก Expo
6. **สั่งบิลด์ production** ด้วย `eas build --platform ios`
7. **ส่งบิลด์** ด้วย `eas submit --platform ios` แล้วทดสอบใน TestFlight คู่มือ [TestFlight สำหรับทดสอบแอป](https://devoria.fr/th/blog/testflight-test-iphone-app-before-app-store) อธิบายขั้นตอนนี้ละเอียด
8. **กรอกหน้าแอปและ[ส่งรีวิว](https://devoria.fr/th/blog/waiting-for-review-app-store-connect-statuses)** จากเบราว์เซอร์ ส่วนข้อความโปรโมตนั้นแก้ทีหลังได้โดยไม่ต้องออกเวอร์ชันใหม่

มีกับดักสามข้อที่เจอบ่อยในขั้นนี้ หมายเลขบิลด์ต้องเพิ่มขึ้นทุกครั้งที่ส่ง: เปิดการเพิ่มอัตโนมัติของ EAS ไว้จะได้ไม่ต้องคิดถึงมันอีก คำถามเรื่องการเข้ารหัสจะบล็อกทุกบิลด์จนกว่าคุณจะตอบ: คุณประกาศไว้ครั้งเดียวในคอนฟิกแอปได้เลย และ bundle identifier ต้องตรงกันทุกที่ ไม่อย่างนั้น EAS Submit จะหาแอปของคุณไม่เจอ สำหรับขั้นต่อจากนี้ ตั้งแต่หน้าแอปจนถึงการอนุมัติ หน้า [เผยแพร่แอปบน App Store](https://devoria.fr/th/expertise/publish-app-on-app-store) ครอบคลุมทุกขั้นตอน

## เผยแพร่แอปแรกของคุณ ไม่ต้องมี Mac และไม่หลงทาง

Mac ไม่ใช่อุปสรรคตัวจริงอีกต่อไป อุปสรรคตัวจริงอยู่ที่อื่น: เลือกแอปที่มีโอกาสทำเงิน ต่อระบบสมัครสมาชิกให้ใช้งานได้ เตรียมเอกสารให้ Apple ยอมรับ นี่คือสิ่งที่เส้นทางสี่ขั้นตอนของ [iOS Kit](https://devoria.fr/th/kits/ios) ครอบคลุม ทำตามได้ตามจังหวะของคุณ ส่วนเรื่องเอกสาร [Apple Review Kit](https://devoria.fr/th/kits/review-apple) รวบรวมเช็กลิสต์ก่อนส่งของผมและโน้ตสำหรับผู้รีวิวไว้ หน้าแรกแสดงวิธี[สร้างแอปมือถือโดยไม่ต้องเริ่มจากศูนย์](https://devoria.fr/th) ด้วย Expo และ Claude Code จะมี Mac หรือไม่ก็ตาม

การตัดสินใจสุดท้ายว่าจะเผยแพร่แอปของคุณหรือไม่ยังเป็นของ Apple และไม่มีคิทไหนรับประกันได้ สิ่งที่ผมให้คุณได้คือวิธีการที่ผมใช้กับแอปของตัวเอง

## คำถามที่พบบ่อย

### เผยแพร่แอป iOS โดยไม่มี Mac ทำอย่างไร?

ด้วย Expo และ React Native เครื่อง Mac ที่ Expo โฮสต์ไว้จะทำหน้าที่แทนเครื่องของคุณ คุณเขียนโค้ดบนคอมพิวเตอร์เครื่องไหนก็ได้ EAS Build คอมไพล์และเซ็นแอปบนคลาวด์ แล้ว EAS Submit ส่งไปที่ App Store Connect คุณยังต้องมีบัญชี Apple Developer แบบเสียเงิน เบราว์เซอร์สำหรับกรอกหน้าแอป และ iPhone สำหรับทดสอบแอปของจริงด้วย

### ขั้นตอนเผยแพร่แอป iOS จาก Windows มีอะไรบ้าง?

สร้างโปรเจกต์ด้วย Expo ติดตั้ง EAS CLI และสมัคร Apple Developer Program ลงทะเบียน iPhone สั่ง development build แล้วสร้างหน้าแอปใน App Store Connect โดยใช้ bundle identifier เดียวกับในคอนฟิก Expo จากนั้นสั่งบิลด์ production ส่งด้วย EAS Submit แล้วทดสอบใน TestFlight สุดท้ายกรอกหน้าแอปและส่งรีวิวจากเบราว์เซอร์

### เผยแพร่แอปบน App Store มีค่าใช้จ่ายเท่าไร?

ค่าสมาชิก Apple Developer Program คือ 99 ดอลลาร์ต่อปี ตัดเป็นสกุลเงินของคุณ และเป็นสิ่งบังคับ: ถ้าไม่มีก็ไม่มี App Store Connect ไม่มี TestFlight ไม่มีการแจกจ่ายภายใน และส่งขึ้น App Store ไม่ได้ ฝั่ง Expo แพ็กเกจฟรีของ EAS ให้จำนวนบิลด์ต่อเดือนแบบจำกัดและมีคิวรอ ตรวจเงื่อนไขล่าสุดในหน้าราคาของ Expo

### ต้องมี iPhone ไหมถ้าจะเผยแพร่แอป iOS โดยไม่มี Mac?

ในทางเทคนิคไม่ต้อง แต่ผมไม่แนะนำอย่างยิ่ง และ Apple ก็เช่นกัน: แนวทางการรีวิว (guideline 2.1) กำหนดให้ทดสอบแอปบนอุปกรณ์จริงเรื่องบั๊กและความเสถียรก่อนส่ง iPhone มือสองรุ่นใหม่ ๆ ก็พอ ขอแค่รัน iOS เวอร์ชันที่ Expo SDK ของคุณรองรับ

### ทดสอบแอป iOS โดยไม่มี Mac ทำอย่างไร?

ติดตั้งแอป Expo Go บน iPhone: แอปจะสแกน QR code ที่แสดงในเทอร์มินัลแล้วโหลดโปรเจกต์ของคุณ ทุกการแก้ไขเห็นผลภายในไม่กี่วินาที Expo Go มีแค่โมดูลเนทีฟที่ Expo จัดมาให้ ทันทีที่แอปใช้ไลบรารีเนทีฟที่ไม่มีในนั้น เช่น SDK ของ RevenueCat คุณจะต้องใช้ development build ที่คอมไพล์โดย EAS Build ส่วนการทดสอบบิลด์สุดท้าย อ่าน [TestFlight สำหรับทดสอบแอป](https://devoria.fr/th/blog/testflight-test-iphone-app-before-app-store)

### การพัฒนา iOS โดยไม่มี Mac มีข้อจำกัดอะไรบ้าง?

คุณใช้ iOS Simulator บนเครื่องไม่ได้ เพราะเป็นส่วนหนึ่งของ Xcode จึงรันบน Windows ไม่ได้ บิลด์แบบ local ของ EAS (`--local`) ไม่รองรับบน Windows บิลด์ iOS ของคุณจึงต้องผ่านคลาวด์ของ Expo การดีบักโค้ดเนทีฟและการเขียนส่วนขยายเนทีฟเองยังทำได้ แต่ยากกว่า เพราะเครื่องมือของ Apple อยู่ใน Xcode


## โปรเจกต์ของคุณ

[iOS Kit](https://devoria.fr/th/kits/ios): สร้างแอป iPhone ด้วย Claude Code: Starter Code ของแอปผม skills ที่ตรวจงาน และคิต Apple Review, Screenshots และ ASO 129,99 €
