Hướng dẫn này cung cấp hướng dẫn từng bước về việc phát hành ứng dụng Flutter lên App Store và TestFlight
sơ bộ
Cần có Xcode để xây dựng và phát hành ứng dụng của bạn. Bạn phải sử dụng thiết bị chạy macOS để làm theo hướng dẫn này
Trước khi bắt đầu quá trình phát hành ứng dụng của bạn, hãy đảm bảo rằng ứng dụng đáp ứng Nguyên tắc đánh giá ứng dụng của Apple
Để xuất bản ứng dụng của bạn lên App Store, trước tiên bạn phải đăng ký Chương trình dành cho nhà phát triển của Apple. Bạn có thể đọc thêm về các tùy chọn thành viên khác nhau trong Hướng dẫn chọn thành viên của Apple
Đăng ký ứng dụng của bạn trên App Store Connect
Quản lý vòng đời ứng dụng của bạn trên App Store Connect [trước đây là iTunes Connect]. Bạn xác định tên và mô tả ứng dụng của mình, thêm ảnh chụp màn hình, đặt giá và quản lý các bản phát hành cho App Store và TestFlight
Đăng ký ứng dụng của bạn bao gồm hai bước. đăng ký ID gói duy nhất và tạo bản ghi ứng dụng trên App Store Connect
Để biết tổng quan chi tiết về Kết nối App Store, hãy xem hướng dẫn Kết nối App Store
Đăng ký ID nhóm
Mỗi ứng dụng iOS được liên kết với một Bundle ID, một mã định danh duy nhất được đăng ký với Apple. Để đăng ký Bundle ID cho ứng dụng của bạn, hãy làm theo các bước sau
- Mở trang ID ứng dụng trong tài khoản nhà phát triển của bạn
- Nhấp vào + để tạo ID gói mới
- Nhập tên ứng dụng, chọn ID ứng dụng rõ ràng và nhập ID
- Chọn các dịch vụ mà ứng dụng của bạn sử dụng, sau đó nhấp vào Tiếp tục
- Trên trang tiếp theo, xác nhận các chi tiết và nhấp vào Đăng ký để đăng ký Bundle ID của bạn
Đăng ký ứng dụng của bạn trên App Store Connect
- Mở App Store Kết nối trong trình duyệt của bạn
- Trên trang đích Kết nối App Store, nhấp vào Ứng dụng của tôi
- Nhấp vào + ở góc trên cùng bên trái của trang Ứng dụng của tôi, sau đó chọn Ứng dụng mới
- Điền chi tiết ứng dụng của bạn vào biểu mẫu xuất hiện. Trong phần Nền tảng, hãy đảm bảo rằng iOS đã được chọn. Vì Flutter hiện không hỗ trợ tvOS, hãy bỏ chọn hộp kiểm đó. Nhấp vào Tạo
- Điều hướng đến chi tiết ứng dụng cho ứng dụng của bạn và chọn Thông tin ứng dụng từ thanh bên
- Trong phần Thông tin chung, chọn Bundle ID mà bạn đã đăng ký ở bước trên
Để biết tổng quan chi tiết, xem
Xem lại cài đặt dự án Xcode
Bước này bao gồm việc xem xét các cài đặt quan trọng nhất trong không gian làm việc Xcode. Để biết quy trình và mô tả chi tiết, xem
Điều hướng đến cài đặt mục tiêu của bạn trong Xcode
- Mở không gian làm việc Xcode mặc định trong dự án của bạn bằng cách chạy
1 trong cửa sổ đầu cuối từ thư mục dự án Flutter của bạnpip3 install codemagic-cli-tools
- Để xem cài đặt ứng dụng của bạn, hãy chọn mục tiêu Người chạy trong trình điều hướng Xcode
Xác minh các cài đặt quan trọng nhất
Trong phần Danh tính của tab Chung
pip3 install codemagic-cli-tools
2Tên hiển thị của ứng dụng của bạn. pip3 install codemagic-cli-tools
3ID ứng dụng bạn đã đăng ký trên App Store ConnectTrong tab Ký & Khả năng
pip3 install codemagic-cli-tools
4Liệu Xcode có nên tự động quản lý việc cấp phép và ký ứng dụng hay không. Giá trị này được đặt theo mặc định là pip3 install codemagic-cli-tools
5, đủ cho hầu hết các ứng dụng. Đối với các tình huống phức tạp hơn, hãy xem Hướng dẫn ký mã. pip3 install codemagic-cli-tools
6Chọn nhóm được liên kết với tài khoản Nhà phát triển Apple đã đăng ký của bạn. Nếu được yêu cầu, hãy chọn Thêm tài khoản…, sau đó cập nhật cài đặt nàyTrong phần Triển khai của tab Cài đặt bản dựng
pip3 install codemagic-cli-tools
7Phiên bản iOS tối thiểu mà ứng dụng của bạn hỗ trợ. Flutter hỗ trợ iOS 11 trở lên. Nếu ứng dụng hoặc plugin của bạn bao gồm mã Objective-C hoặc Swift sử dụng API mới hơn iOS 11, hãy cập nhật cài đặt này lên phiên bản được yêu cầu cao nhấtTab Chung của cài đặt dự án của bạn sẽ giống như sau
Để biết tổng quan chi tiết về ký ứng dụng, hãy xem
Cập nhật phiên bản triển khai của ứng dụng
Nếu bạn đã thay đổi
pip3 install codemagic-cli-tools
8 trong dự án Xcode của mình, hãy mở pip3 install codemagic-cli-tools
9 trong ứng dụng Flutter của bạn và cập nhật giá trị export APP_STORE_CONNECT_ISSUER_ID=aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
export APP_STORE_CONNECT_KEY_IDENTIFIER=ABC1234567
export APP_STORE_CONNECT_PRIVATE_KEY=`cat /path/to/api/key/AuthKey_XXXYYYZZZ.p8`
0 cho phù hợpThêm biểu tượng ứng dụng
Khi một ứng dụng Flutter mới được tạo, một bộ biểu tượng giữ chỗ sẽ được tạo. Bước này bao gồm việc thay thế các biểu tượng giữ chỗ này bằng các biểu tượng của ứng dụng của bạn
- Xem lại các nguyên tắc về Biểu tượng ứng dụng iOS
- Trong trình điều hướng dự án Xcode, chọn
1 trong thư mụcexport APP_STORE_CONNECT_ISSUER_ID=aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee export APP_STORE_CONNECT_KEY_IDENTIFIER=ABC1234567 export APP_STORE_CONNECT_PRIVATE_KEY=`cat /path/to/api/key/AuthKey_XXXYYYZZZ.p8`
2. Cập nhật các biểu tượng giữ chỗ bằng các biểu tượng ứng dụng của riêng bạnexport APP_STORE_CONNECT_ISSUER_ID=aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee export APP_STORE_CONNECT_KEY_IDENTIFIER=ABC1234567 export APP_STORE_CONNECT_PRIVATE_KEY=`cat /path/to/api/key/AuthKey_XXXYYYZZZ.p8`
- Xác minh rằng biểu tượng đã được thay thế bằng cách chạy ứng dụng của bạn bằng cách sử dụng
3export APP_STORE_CONNECT_ISSUER_ID=aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee export APP_STORE_CONNECT_KEY_IDENTIFIER=ABC1234567 export APP_STORE_CONNECT_PRIVATE_KEY=`cat /path/to/api/key/AuthKey_XXXYYYZZZ.p8`
Thêm hình ảnh khởi chạy
Tương tự như biểu tượng ứng dụng, bạn cũng có thể muốn thay thế hình ảnh khởi chạy trình giữ chỗ
- Trong trình điều hướng dự án Xcode, chọn
1 trong thư mụcexport APP_STORE_CONNECT_ISSUER_ID=aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee export APP_STORE_CONNECT_KEY_IDENTIFIER=ABC1234567 export APP_STORE_CONNECT_PRIVATE_KEY=`cat /path/to/api/key/AuthKey_XXXYYYZZZ.p8`
2. Cập nhật hình ảnh khởi chạy trình giữ chỗ bằng hình ảnh khởi chạy của riêng bạnexport APP_STORE_CONNECT_ISSUER_ID=aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee export APP_STORE_CONNECT_KEY_IDENTIFIER=ABC1234567 export APP_STORE_CONNECT_PRIVATE_KEY=`cat /path/to/api/key/AuthKey_XXXYYYZZZ.p8`
- Xác minh hình ảnh khởi chạy mới bằng cách khởi động lại ứng dụng của bạn. [Không sử dụng
6. ]export APP_STORE_CONNECT_ISSUER_ID=aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee export APP_STORE_CONNECT_KEY_IDENTIFIER=ABC1234567 export APP_STORE_CONNECT_PRIVATE_KEY=`cat /path/to/api/key/AuthKey_XXXYYYZZZ.p8`
Tạo kho lưu trữ bản dựng và tải lên App Store Connect
Trong quá trình phát triển, bạn đã xây dựng, gỡ lỗi và thử nghiệm với các bản dựng gỡ lỗi. Khi bạn đã sẵn sàng gửi ứng dụng của mình tới người dùng trên App Store hoặc TestFlight, bạn cần chuẩn bị bản phát hành
Cập nhật số phiên bản và phiên bản của ứng dụng
Số phiên bản mặc định của ứng dụng là
export APP_STORE_CONNECT_ISSUER_ID=aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
export APP_STORE_CONNECT_KEY_IDENTIFIER=ABC1234567
export APP_STORE_CONNECT_PRIVATE_KEY=`cat /path/to/api/key/AuthKey_XXXYYYZZZ.p8`
7. Để cập nhật nó, hãy điều hướng đến tệp export APP_STORE_CONNECT_ISSUER_ID=aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
export APP_STORE_CONNECT_KEY_IDENTIFIER=ABC1234567
export APP_STORE_CONNECT_PRIVATE_KEY=`cat /path/to/api/key/AuthKey_XXXYYYZZZ.p8`
8 và cập nhật dòng sauSố phiên bản là ba số được phân tách bằng dấu chấm, chẳng hạn như
export APP_STORE_CONNECT_ISSUER_ID=aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
export APP_STORE_CONNECT_KEY_IDENTIFIER=ABC1234567
export APP_STORE_CONNECT_PRIVATE_KEY=`cat /path/to/api/key/AuthKey_XXXYYYZZZ.p8`
7 trong ví dụ trên, theo sau là số bản dựng tùy chọn, chẳng hạn như pip3 install codemagic-cli-tools
90 trong ví dụ trên, được phân tách bằng dấu ____191Cả phiên bản và số bản dựng đều có thể được ghi đè trong
pip3 install codemagic-cli-tools
92 bằng cách chỉ định lần lượt là pip3 install codemagic-cli-tools
93 và pip3 install codemagic-cli-tools
94Trong iOS,
pip3 install codemagic-cli-tools
95 sử dụng pip3 install codemagic-cli-tools
96 trong khi pip3 install codemagic-cli-tools
97 sử dụng pip3 install codemagic-cli-tools
98. Đọc thêm về lập phiên bản iOS tại Core Foundation Keys trên trang web của Nhà phát triển AppleBạn cũng có thể ghi đè tên và số bản dựng
export APP_STORE_CONNECT_ISSUER_ID=aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
export APP_STORE_CONNECT_KEY_IDENTIFIER=ABC1234567
export APP_STORE_CONNECT_PRIVATE_KEY=`cat /path/to/api/key/AuthKey_XXXYYYZZZ.p8`
8 trong Xcode- Mở
90 trong thư mụcpip3 install codemagic-cli-tools
91 của ứng dụng của bạnpip3 install codemagic-cli-tools
- Chọn Người chạy trong trình điều hướng dự án Xcode, sau đó chọn mục tiêu Người chạy trong thanh bên của chế độ xem cài đặt
- Trong phần Danh tính, hãy cập nhật Phiên bản thành số phiên bản dành cho người dùng mà bạn muốn xuất bản
- Trong phần Danh tính, hãy cập nhật Mã định danh bản dựng thành số bản dựng duy nhất được sử dụng để theo dõi bản dựng này trên App Store Connect. Mỗi lần tải lên yêu cầu một số bản dựng duy nhất
Tạo gói ứng dụng
Chạy
pip3 install codemagic-cli-tools
92 để tạo kho lưu trữ bản dựng Xcode [tệp ______293] trong thư mục pip3 install codemagic-cli-tools
94 của dự án và gói ứng dụng App Store [tệp ____295] trong ____296Cân nhắc thêm các cờ
pip3 install codemagic-cli-tools
97 và pip3 install codemagic-cli-tools
98 để làm xáo trộn mã Dart của bạn nhằm gây khó khăn hơn cho việc đảo ngược kỹ thuậtNếu bạn không phân phối cho App Store, bạn có thể tùy ý chọn một cách khác bằng cách thêm tùy chọn
pip3 install codemagic-cli-tools
99, pip3 install codemagic-cli-tools
90 hoặc pip3 install codemagic-cli-tools
91Tải gói ứng dụng lên App Store Connect
Khi gói ứng dụng được tạo, hãy tải nó lên App Store Connect bằng cách
Cài đặt và mở ứng dụng Apple Transport macOS. Kéo và thả gói ứng dụng
92 vào ứng dụngpip3 install codemagic-cli-tools
Hoặc tải gói ứng dụng lên từ dòng lệnh bằng cách chạy
2pip3 install codemagic-cli-tools
Chạy
93 để biết chi tiết về cách xác thực bằng khóa API App Store Connectpip3 install codemagic-cli-tools
Hoặc mở
94 trong Xcodepip3 install codemagic-cli-tools
Nhấp vào nút Xác thực ứng dụng. Nếu có bất kỳ sự cố nào được báo cáo, hãy giải quyết chúng và tạo bản dựng khác. Bạn có thể sử dụng lại cùng một ID bản dựng cho đến khi bạn tải lên một kho lưu trữ
Sau khi kho lưu trữ đã được xác thực thành công, hãy nhấp vào Phân phối ứng dụng
Bạn có thể theo dõi trạng thái bản dựng của mình trong tab Hoạt động trên trang chi tiết của ứng dụng trên App Store Connect. Bạn sẽ nhận được email trong vòng 30 phút thông báo rằng bản dựng của bạn đã được xác thực và có sẵn để phát hành cho người thử nghiệm trên TestFlight. Tại thời điểm này, bạn có thể chọn phát hành trên TestFlight hay tiếp tục và phát hành ứng dụng của mình lên App Store
Để biết thêm chi tiết, xem
Bước này bao gồm việc tạo kho lưu trữ bản dựng và tải bản dựng của bạn lên App Store Connect bằng cách sử dụng các lệnh bản dựng Flutter và Công cụ Codemagic CLI được thực thi trong một thiết bị đầu cuối trong thư mục dự án Flutter. Điều này cho phép bạn tạo kho lưu trữ bản dựng với toàn quyền kiểm soát chứng chỉ phân phối trong chuỗi khóa tạm thời được tách biệt khỏi chuỗi khóa đăng nhập của bạn
Cài đặt các công cụ Codemagic CLI
pip3 install codemagic-cli-tools
Bạn sẽ cần tạo Khóa API kết nối App Store với quyền truy cập Trình quản lý ứng dụng để tự động hóa các hoạt động với Kết nối cửa hàng ứng dụng. Để làm cho các lệnh tiếp theo ngắn gọn hơn, hãy đặt các biến môi trường sau từ khóa mới. id nhà phát hành, id khóa và tệp khóa API
export APP_STORE_CONNECT_ISSUER_ID=aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee export APP_STORE_CONNECT_KEY_IDENTIFIER=ABC1234567 export APP_STORE_CONNECT_PRIVATE_KEY=`cat /path/to/api/key/AuthKey_XXXYYYZZZ.p8`
Bạn cần xuất hoặc tạo chứng chỉ Phân phối iOS để ký mã và đóng gói kho lưu trữ bản dựng
Nếu bạn có chứng chỉ hiện có, bạn có thể xuất khóa riêng bằng cách thực hiện lệnh sau cho từng chứng chỉ
9pip3 install codemagic-cli-tools
Hoặc bạn có thể tạo khóa riêng mới bằng cách thực hiện lệnh sau
9pip3 install codemagic-cli-tools
Sau này, bạn có thể yêu cầu các công cụ CLI tự động tạo Bản phân phối iOS mới từ khóa riêng tư
Thiết lập một chuỗi khóa tạm thời mới sẽ được sử dụng để ký mã
Tìm nạp tệp ký mã từ App Store Connect
9pip3 install codemagic-cli-tools
Trong đó
95 là khóa riêng của chứng chỉ Phân phối iOS đã xuất của bạn hoặc khóa riêng mới tự động tạo chứng chỉ mới. Chứng chỉ sẽ được tạo từ khóa riêng nếu nó không tồn tại trong App Store Connectpip3 install codemagic-cli-tools
Bây giờ hãy thêm chứng chỉ đã tìm nạp vào móc khóa của bạn
1pip3 install codemagic-cli-tools
Cập nhật cài đặt dự án Xcode để sử dụng hồ sơ ký mã đã tìm nạp
2pip3 install codemagic-cli-tools
Cài đặt phụ thuộc Flutter
Cài đặt phụ thuộc CocoaPods
3pip3 install codemagic-cli-tools
Xây dựng dự án Flutter the iOS
4pip3 install codemagic-cli-tools
Lưu ý rằng
96 là đầu ra của lệnhpip3 install codemagic-cli-tools
97pip3 install codemagic-cli-tools
Xuất bản ứng dụng lên App Store Connect
0pip3 install codemagic-cli-tools
Như đã đề cập trước đó, đừng quên đặt chuỗi khóa đăng nhập của bạn làm mặc định để tránh các sự cố xác thực với các ứng dụng trên máy của bạn
Bạn sẽ nhận được email trong vòng 30 phút thông báo rằng bản dựng của bạn đã được xác thực và có sẵn để phát hành cho người thử nghiệm trên TestFlight. Tại thời điểm này, bạn có thể chọn phát hành trên TestFlight hay tiếp tục và phát hành ứng dụng của mình lên App Store
Phát hành ứng dụng của bạn trên TestFlight
TestFlight cho phép các nhà phát triển đẩy ứng dụng của họ tới những người kiểm tra nội bộ và bên ngoài. Bước tùy chọn này bao gồm việc phát hành bản dựng của bạn trên TestFlight
- Điều hướng đến tab TestFlight trên trang chi tiết ứng dụng của ứng dụng trên App Store Connect
- Chọn Kiểm tra nội bộ trong thanh bên
- Chọn bản dựng để xuất bản cho người kiểm tra, sau đó nhấp vào Lưu
- Thêm địa chỉ email của bất kỳ người thử nghiệm nội bộ nào. Bạn có thể thêm người dùng nội bộ bổ sung trong trang Người dùng và vai trò của App Store Connect, có sẵn từ menu thả xuống ở đầu trang
Để biết thêm chi tiết, xem
Phát hành ứng dụng của bạn lên App Store
Khi bạn đã sẵn sàng phát hành ứng dụng của mình ra thế giới, hãy làm theo các bước sau để gửi ứng dụng của bạn đi xét duyệt và phát hành lên App Store
- Chọn Giá cả và tính khả dụng từ thanh bên của trang chi tiết ứng dụng của ứng dụng trên App Store Connect và hoàn thành thông tin bắt buộc
- Chọn trạng thái từ thanh bên. Nếu đây là bản phát hành đầu tiên của ứng dụng này, thì trạng thái của nó là 1. 0 Chuẩn bị nộp hồ sơ. Hoàn thành tất cả các trường bắt buộc
- Nhấp vào Gửi để xem xét
Apple thông báo cho bạn khi quá trình xem xét ứng dụng của họ hoàn tất. Ứng dụng của bạn được phát hành theo hướng dẫn mà bạn đã chỉ định trong phần Phát hành phiên bản