Việc đưa ứng dụng iOS lên TestFlight hoặc App Store là bước quan trọng nếu bạn muốn phân phối app cho người dùng, tester hoặc đưa lên kho ứng dụng chính thức. Bài viết này sẽ hướng dẫn bạn từ A–Z toàn bộ quy trình chuẩn, bao gồm chuẩn bị, build, export IPA, upload, xử lý lỗi và mẹo duyệt nhanh.
- [1] Upload với file ipa thủ công ↩︎
- [HD1] Tạo Cert ↩︎
- [HD2] Tạo Profile ↩︎
- [HD3] Sign ipa với Cert ↩︎
- [2] Upload từ Xcode ↩︎
- [3] Bước cuối thao tác trên web ↩︎
- Trick Lỏ :) ↩︎
Điều Kiện & Chuẩn Bị Trước Khi Upload
1. Tài khoản yêu cầu
- Tài khoản Apple ID
- Đã tham gia Apple Developer Program ($99/năm)
- Có quyền truy cập App Store Connect (Developer / Admin / App Manager)
2. Công cụ dùng để upload (Yêu cầu thiết bị Macos)
- Xcode Organizer (dễ dùng nhất)
- Transporter (Mac App Store)
- Transporter CLI / API
[1] Upload nếu chỉ có file IPA1
- Nếu ipa bạn chưa được sign với cert của tài khoản Apple Developer thì bạn sẽ phải tải công cụ iOS App Signer hoặc Sideloadly

- Bạn sẽ cần phải tạo Cert và profile cho AppID “Apple Developer”
[HD1] Tạo Certificates2
Bạn sẽ có 2 cách tạo chính (cách thứ 3 sẽ là dùng api nhưng ở đây tôi sẽ không dùng)
- Bạn sử dụng Xcode (nếu có cài)
- Bạn sẽ dùng keychain để yêu cầu tạo Certificates
- Dùng keychain yêu cầu tạo cert bạn sẽ mở ứng dụng keychain lên “
Command (⌘) + Space“ tìm keychain
- Góc trên bên trái bạn trong [“Truy cập chuỗi khoá” -> “Trợ lý chứng nhận” -> “Yêu cầu chứng nhận từ tổ chức chứng nhận“]
- Điền các thông tin và bạn sẽ nhận được 1 file “CertificateSigningRequest.certSigningRequest“

- Tiếp đó bạn truy cập vào trang Apple Developer và ấn vào icon + để tạo chứng chỉ

- Ở đây bạn sẽ chọn Software là Apple Distribution (Để phân phối App)

- Tiếp tục bạn sẽ chọn file “CertificateSigningRequest.certSigningRequest” mà ban nãy bạn đã tạo từ keychain là chúng ta sẽ được Cert

- Tiến hành tải về máy

- Sau khi tải về bạn mở nó ra thì nó sẽ tự được add vào keychain trong máy bạn (keychain -> Đăng nhập -> Chứng nhận của tôi)

- Sau khi đã có cert (chứng chỉ) bạn tiến hành mở iOS App Signer và bạn chỉ cần chọn chứng chỉ nãy mới tạo là được

[HD2] Tạo Profile3
- Đầu tiên sẽ cần tạo AppID ở trang identifiers bạn sẽ chọn mục tạo AppIDs “Select a type” sẽ chọn là App và nhập các thông tin Bundle ID và Description
App IDs
Register an App ID to enable your app, app extensions, or App Clip to access available services and identify your app in a provisioning profile. You can enable app services when you create an App ID or modify these settings later.

- Tiếp tục vào trang Profile và tiến hành tạo chọn “Ad Hoc” và “Select an App ID” sẽ chọn AppID nãy bạn tạo “Select Certificates” nếu bạn không biết cái nào mới tạo cứ chọn hết cũng được sau khi tạo xong nó sẽ trả 1 file “.mobileprovision” và nhập vào mục ở [HD3]
Ad Hoc
Create a distribution provisioning profile to install your app on a limited number of registered devices.

[HD3] Sign ipa với Cert4
- Phần Provisioning Profile bạn sẽ nhập Profile ở mục[HD2] và tiến hành sign file ipa là xong file sau khi sign xong bạn dùng app Transporter (Mac App Store) tải lên là được.

[2] Upload từ dự án Xcode5
- Nếu bạn có dự án (mã nguồn bằng xcode) việc upload sẽ trở lên khá đơn giản

- Sau khi mở Xcode bạn mở setting bằng phím tắt “cmd + ,” và chọn tới phần Accounts và nhập tài khoản Apple Developer của bạn vào, Và mở dự án chọn Product -> Archive (trước đó hãy vào TARGETS -> Signing & Capabilities để chọn Team và Bundle Identifier)

- Build xong sẽ tiến hành Distribute App

- Ở đây bạn sẽ có các tuỳ chọn mà chúng ta cần quan tâm App Store Connect – TestFlight Internal Only – Release Testing
Nếu bạn chọn App Store Connect – TestFlight Internal Only thì nó sẽ tải trực tiếp ipa lên AppStore Connect
Còn với tuỳ chọn khác như Release Testing nó sẽ Export for Release Testing (Ad Hoc) và dùng lấy file ipa đó tải lên thủ công hoặc gửi cho user test trực tiếp.

- Đối với tuỳ chọn Export ipa ra thì ở đây mình sẽ dùng Transporter để upload ipa lên AppStore Connect với giao diện khá dễ dùng chỉ việc kéo thả.

- Sau khi tải lên bản dựng của bạn sẽ có ở trang AppStore Connect

[3] Tiến hành tải lên TestFlight & AppStore6
- Bạn vào trang AppStore Connect và chọn vào App nãy bạn mới tải lên

- Nếu bạn up lên AppStore thì bạn thì phải điền khá nhiều thông tin và ở trang có hướng dẫn thì bạn sẽ cần để ý tới mục Distribution còn nếu bạn chỉ up lên TestFlight thì khá là dễ ở post này tôi sẽ hướng dẫn TestFlight vì tương đối nó cũng giống nhau ( và tôi lười :) )

- Ở đâu sẽ có 2 lựa chọn cho bạn thường sẽ dùng private để thử nghiệm trước
INTERNAL TESTING [Private]
EXTERNAL TESTING [Public]

- Rồi bạn qua tab Build chọn bản dựng lên là nó sẽ xét duyệt (thời gian lý tưởng để up là vào buổi tối hoặc chiều vì tầm 1-6h sáng đội ngũ apple mới duyệt

[TRICK] 1 Số mẹo nhỏ mà tôi biết7
- Upload ipa lậu/App vi phạm chính sách (hack, của người khác)
- Bạn sẽ cần build 1 app sạch không vi phạm chính sách nào của Apple
- Tiến hành up lên TestFlight/AppStore và đảm bảo app được duyệt v1.0.0
- Đối với ở TestFlight thì bạn sẽ up thẳng app bạn muốn nên nhưng sẽ ở ver cùng với bản đã được duyệt v1.0.0 nhưng bản dựng phải lớn hơn lúc này apple sẽ duyệt thẳng không cần xét duyệt nữa và app bạn sẽ được lọt qua khâu kiểm tra thủ công của đội ngũ Apple
- Còn với AppStore bạn chỉ có thể viết code lách sao cho nó thành 1 App hợp pháp và cần 1 cơ chế ẩn để kích hoạt tính năng bạn cần đủ chặt chẽ sẽ vượt qua được khâu kiểm tra và thuận lợi lên AppStore
Không khuyến cáo vì sẽ bị Apple sẽ khóa tài khoản của bạn
- Fix lỗi thiếu icon (chắc đây là 1 số lỗi cơ bản tôi sẽ update sau và vài lỗi nữa)
Lưu ý: Bài post được dựa trên sự hiểu biết của tôi, có thể sẽ có sai sót phần nào tôi sẽ update lại post dần dần
Góp ý liên hệ: t.me/dothanh1110_bot