Phân phối bản dựng iOS trước khi phát hành của bạn nhanh hơn với Phân phối ứng dụng và làn đường nhanh

1. Trước khi bạn bắt đầu

4cddd34bd261cea0.png

Trong lớp học lập trình này, bạn sẽ tìm hiểu cách sử dụng Phân phối ứng dụng Firebase và plugin fastlane của nó để phân phối ứng dụng iOS cho người thử nghiệm, thu thập UDID của thiết bị thử nghiệm và đăng ký chúng vào hồ sơ cung cấp ứng dụng của bạn để bạn có thể nhanh chóng đưa các bản dựng Ad Hoc vào người thử nghiệm ' bàn tay.

Bạn sẽ học được gì

  • Cách tải lên và phân phối ứng dụng iOS phát hành trước (Ad Hoc) cho người thử nghiệm bằng cách sử dụng Phân phối ứng dụng Firebase và fastlane .
  • Cách đăng ký làm người thử nghiệm và tải xuống ứng dụng được phân phối trên thiết bị thử nghiệm.
  • Cách đăng ký nhanh thiết bị thử nghiệm bằng cách xuất UDID của thiết bị thử nghiệm bằng plugin fastlane của Phân phối ứng dụng.
  • Cách cập nhật hồ sơ cung cấp ứng dụng của bạn và tải lại lên để phân phối.

Những gì bạn cần

  • Tài khoản Google
  • Một máy Apple đã cài đặt XCode 11.7+
  • Ứng dụng iOS phát hành trước Ad Hoc được tích hợp trong Xcode
  • Tài khoản Nhà phát triển Apple trả phí
  • Một thiết bị iOS vật lý để thử nghiệm.

Ứng dụng mô phỏng iOS sẽ hoạt động trong hầu hết lớp học lập trình nhưng trình mô phỏng không thể tải xuống các bản phát hành.

Bạn vẫn có thể xác minh rằng thiết lập đã hoạt động bằng cách xác minh rằng nút "Tải xuống" xuất hiện trên ứng dụng web trình thử nghiệm phân phối ứng dụng.

2. Bắt đầu

Thiết lập làn đường nhanh

Phân phối ứng dụng tích hợp với fastlane để cho phép bạn tự động phân phối các bản dựng trước khi phát hành của ứng dụng. Phân phối ứng dụng tích hợp với cấu hình fastlane của bạn.

  1. Cài đặt và thiết lập fastlane .
  2. Chạy fastlane init trong thư mục gốc của dự án trong khi thiết lập và chọn "Thiết lập thủ công". Bạn sẽ thấy thư mục con có tên fastlane chứa Fastfile , AppfilePluginfile , bạn sẽ sử dụng để định cấu hình fastlane .

Cài đặt Firebase CLI

Bạn cũng sẽ cần cài đặt Firebase CLI . Nếu bạn đang sử dụng macOS hoặc Linux, bạn có thể chạy lệnh cURL sau:

curl -sL https://firebase.tools | bash

Nếu bạn đang sử dụng Windows, hãy đọc hướng dẫn cài đặt để có tệp nhị phân độc lập hoặc cài đặt qua npm .

Sau khi bạn đã cài đặt CLI, việc chạy firebase --version sẽ báo cáo phiên bản 12.0.0 trở lên:

$ firebase --version
12.0.0

3. Xây dựng ứng dụng của bạn với fastlane

Xây dựng ứng dụng của bạn

  1. Đặt một số biến toàn cục cho fastlane trong ./fastlane/Appfile. Bao gồm ID ứng dụng và ID Apple của bạn:
app_identifier("<your app's bundle identifier>")
apple_id("<your Apple id>")
  1. Tạo làn đường đầu tiên của bạn và sử dụng hành động build_app của fastlane (còn được gọi là gym ) để xây dựng ứng dụng của bạn bằng cách thêm phần sau ./fastlane/Fastfile :
default_platform(:ios)

lane :build do
    build_app(export_method: "ad-hoc")
end
  1. Ký ứng dụng của bạn để phân phối.

Đối với lớp học lập trình này, bạn sẽ quản lý chứng nhận và hồ sơ của riêng mình bằng cách sử dụng get_certificates (còn được gọi là cert ), tạo chứng chỉ ký cục bộ và lưu trữ mọi thứ trong Chuỗi khóa macOS của bạn. Tuy nhiên, thông thường, bạn sẽ muốn sử dụng hành động fastlane sync_code_signing action (còn được gọi là match ) để quản lý an toàn các chứng chỉ và hồ sơ ký mã của nhóm bạn.

lane :build do
    get_certificates()
    build_app(export_method: "ad-hoc")
end
  1. Thiết lập hồ sơ cung cấp cho ứng dụng của bạn bằng hành động get_provisioning_profile (còn được gọi là sigh ). Điều này cho phép bạn chia sẻ ứng dụng của mình với người thử nghiệm.
lane :build do
    get_certificates()
    get_provisioning_profile(adhoc: true)
    build_app(export_method: "ad-hoc")
end
  1. [Tùy chọn] Nếu trước đây bạn chưa từng chạy ứng dụng của mình, hãy chạy lệnh sau để tạo ứng dụng của bạn trong bảng điều khiển dành cho nhà phát triển Apple:

$ fastlane produce --skip_itc

  1. Cuối cùng, xây dựng ứng dụng của bạn bằng cách chạy làn đường.

Bạn sẽ được nhắc nhập ID Apple, mật khẩu (được lưu trong Chuỗi khóa) và ID gói ứng dụng của bạn.

$ fastlane build

Nếu bạn gặp bất kỳ sự cố nào, vui lòng xem hướng dẫn khắc phục sự cố fastlane .

4. Tải ứng dụng của bạn lên Firebase

Bây giờ bạn đã xây dựng ứng dụng của mình, bạn đã sẵn sàng tải ứng dụng đó lên Phân phối ứng dụng.

Tạo và thiết lập dự án Firebase

  1. Đăng nhập vào Firebase.
  2. Trong bảng điều khiển Firebase, hãy tạo hoặc thêm dự án mới, sau đó đặt tên cho dự án của bạn là "UDID Xuất Codelab".

Bạn không cần bật Google Analytics cho dự án này.

  1. Nhấp vào Tạo dự án .

Thêm ứng dụng iOS của bạn vào dự án

  1. Nhấp vào biểu tượng iOS để tạo ứng dụng Firebase iOS mới và nhập ID gói ứng dụng của bạn.

9c26c130a6c42212.png

  1. Bỏ qua vài bước tiếp theo, sau đó nhấp vào Continue to console . Bạn sẽ thêm SDK vào ứng dụng của mình sau.

Dự án và ứng dụng của bạn hiện có sẵn trên trang Tổng quan dự án .

66f79cc8a97fa8e9.png

Bật phân phối ứng dụng

  1. Trong phần Phát hành & Giám sát, nhấp vào Phân phối ứng dụng .
  2. Sau khi chấp nhận các điều khoản, hãy nhấp vào "Bắt đầu" để bật Phân phối ứng dụng cho ứng dụng của bạn.

460213326c2784ae.png

Thiết lập phân phối trong làn đường nhanh

  1. Chạy lệnh sau từ thư mục gốc của dự án iOS để thêm Phân phối ứng dụng vào cấu hình làn đường nhanh của bạn.

Nếu lệnh nhắc bạn với một tùy chọn, hãy chọn Tùy chọn 3: RubyGems.org :

$ fastlane add_plugin firebase_app_distribution

  1. Xác nhận rằng plugin đã được cài đặt:

$ fastlane

Đầu ra sẽ hiển thị fastlane-plugin-firebase_app_distribution trong danh sách các plugin đã cài đặt.

  1. Sau khi xác nhận plugin đã được cài đặt, chọn tùy chọn 0 để hủy.

Xác thực dự án Firebase của bạn

Để sử dụng plugin fastlane , trước tiên bạn phải xác thực dự án Firebase của mình.

  1. Chạy lệnh sau để kết nối CLI với tài khoản Google của bạn:

$ firebase login

  1. Khi lệnh in liên kết xác thực, hãy mở liên kết trong trình duyệt.
  2. Khi được nhắc, hãy đăng nhập vào Tài khoản Google của bạn và cấp quyền truy cập vào dự án Firebase của bạn.

Phân phối ứng dụng của bạn

Bây giờ bạn đã sẵn sàng phân phối ứng dụng của mình.

  1. Ở đầu ./fastlane/Fastfile của bạn, hãy xác định một biến có tên firebase_app_id . Thay thế <your_app_id> bằng ID ứng dụng Firebase cho ứng dụng bạn đã tạo (bạn có thể tìm thấy ID này trong trang cài đặt dự án ).

Fastfile được viết bằng Ruby, vì vậy hãy sử dụng cú pháp Ruby để xác định các biến.

firebase_app_id = "<your_app_id>"
  1. Thêm một làn mới có tên là distribute gọi làn đường xây dựng, sau đó phân phối ứng dụng của bạn bằng hành động firebase_app_distribution .
lane :distribute do
    build
    firebase_app_distribution(
        app: firebase_app_id,
        release_notes: "Try out this app!",
    )
end
  1. Chạy làn đường mới để xây dựng ứng dụng của bạn và tạo phân phối.

$ fastlane distribute

Tại thời điểm này, Fastfile của bạn sẽ trông như sau:

firebase_app_id = "<your Firebase app ID>"

default_platform(:ios)

lane :build do
    get_certificates()
    get_provisioning_profile(adhoc: true)
    build_app(export_method: "ad-hoc")
end

lane :distribute do
    build
    firebase_app_distribution(
        app: firebase_app_id,
        release_notes: "Try out this app!",
    )
end

Sau khi làm mới bảng điều khiển Firebase, bạn sẽ thấy bản phát hành mới cho ứng dụng của mình.

c59dc1a94de3bf3c.png

5. Mời người thử nghiệm tải xuống ứng dụng của bạn

Khi người thử nghiệm chấp nhận lời mời thử nghiệm bản dựng Ad Hoc, họ sẽ được yêu cầu cấp quyền chia sẻ UDID của mình. Nếu họ đồng ý, Phân phối ứng dụng sẽ thu thập thông tin thiết bị của họ và thông báo cho bạn qua email. Trong phần này, bạn sẽ tự thêm mình làm người thử nghiệm để tải xuống và thử nghiệm ứng dụng bạn đã phân phối.

Thêm chính bạn làm người thử nghiệm cho bản phát hành

  1. Trong firebase_app_id ở đầu Fastfile của bạn, hãy tạo một biến để giữ người kiểm tra và bao gồm địa chỉ email của riêng bạn cũng như các địa chỉ email tùy chọn khác mà bạn muốn thử.
firebase_app_id = "<your Firebase app ID>"
app_testers = [
  "your@email.com",
  "another@email.com",
]
  1. Áp dụng phương thức Array#join của Ruby để biến mảng app_testers thành một chuỗi được phân tách bằng dấu phẩy, điều mà tham số testers mong đợi. Sau đó, chuyển kết quả tới tham số testers của firebase_app_distribution.
lane :distribute do
    build
    firebase_app_distribution(
        app: firebase_app_id,
        release_notes: "Try out this app!"
        testers: app_testers.join(","),
    )
end

Tại thời điểm này, Fastfile của bạn sẽ trông như thế này:

firebase_app_id = "<your Firebase app ID>"
app_testers = [
  "your@email.com",
  "another@email.com",
]

default_platform(:ios)

lane :build do
    get_certificates()
    get_provisioning_profile(adhoc: true)
    build_app(export_method: "ad-hoc")
end

lane :distribute do
    build
    firebase_app_distribution(
        app: firebase_app_id,
        release_notes: "Try out this app!",
        testers: app_testers.join(","),
    )
end
  1. Chạy làn đường một lần nữa.

$ fastlane distribute

Sau khi bạn chạy làn đường, những người thử nghiệm mà bạn đã thêm sẽ nhận được email mời từ Phân phối ứng dụng thông báo cho họ về bản phát hành mới có sẵn. Trong bảng điều khiển Firebase, giờ đây bạn có thể xem những người thử nghiệm mà bạn đã thêm trong bản phát hành ứng dụng của mình.

2e0fc9603b868af8.png

Vì bạn đã bao gồm địa chỉ email của mình nên bạn sẽ nhận được email từ Phân phối ứng dụng Firebase mời bạn dùng thử ứng dụng. Bây giờ bạn là người thử nghiệm đầu tiên! Tiếp tục phần bên dưới để thiết lập làm người thử nghiệm trên thiết bị thử nghiệm của bạn.

Đăng ký thiết bị thử nghiệm của bạn

Với tư cách là người thử nghiệm, bạn cần phải đăng nhập vào Google trên thiết bị thử nghiệm của mình để truy cập vào các bản phát hành ứng dụng mà bạn đã được mời thử nghiệm. Vì bản dựng thử nghiệm của bạn là bản phát hành Ad Hoc nên bạn cũng cần phải đăng ký thiết bị thử nghiệm của mình bằng cách cài đặt cấu hình Firebase. Sau đó, bạn có thể truy cập các bản phát hành có sẵn cho mình từ ứng dụng web trình thử nghiệm phân phối ứng dụng bằng cách sử dụng clip web được thêm vào màn hình chính trên thiết bị của bạn.

  1. Trên thiết bị thử nghiệm iOS của bạn, hãy mở email được gửi từ Phân phối ứng dụng Firebase và nhấn vào liên kết Bắt đầu . Đảm bảo mở liên kết trong Safari.
  2. Bạn hiện đang ở trong ứng dụng web thử nghiệm phân phối ứng dụng. Trong trang xuất hiện, đăng nhập bằng tài khoản Google của bạn và nhấn Chấp nhận lời mời.

d833407de251b89f.png

  1. Bây giờ bạn có thể xem các bản phát hành mà bạn đã được mời. Nhấn vào Đăng ký thiết bị theo một trong các bản phát hành.

fd141215e54a938d.png

  1. Khi được nhắc, hãy tải xuống hồ sơ Firebase, sau đó cài đặt hồ sơ trong ứng dụng Cài đặt.

Việc cài đặt hồ sơ sẽ cấp cho Firebase quyền:

  • Đăng ký thiết bị thử nghiệm bằng cách thu thập ID thiết bị duy nhất (UDID) của thiết bị.

Firebase gửi cho tất cả Chủ sở hữu và Người chỉnh sửa của dự án Firebase một email bao gồm UDID của thiết bị thử nghiệm.

  • Cài đặt một đoạn web vào màn hình chính của thiết bị thử nghiệm. Đoạn web mở ra ứng dụng web của người thử nghiệm phân phối ứng dụng, cho phép bạn cài đặt và truy cập tất cả các ứng dụng thử nghiệm của mình.

Trong ứng dụng web của người thử nghiệm phân phối ứng dụng, thiết bị thử nghiệm của bạn hiện đã được đăng ký để phát hành ứng dụng.

fe93d649dfa25877.png

Sau khi chia sẻ UDID của thiết bị thử nghiệm với Firebase, bạn hiện có thể tiếp tục làm nhà phát triển. Trong tab Người thử nghiệm của bảng điều khiển Phân phối ứng dụng , thông tin người thử nghiệm của bạn hiện xuất hiện trong bản phát hành ứng dụng của bạn với trạng thái là "Được chấp nhận":

7b9f665a63a384cf.png

Trong phần tiếp theo, bạn sẽ thêm UDID của thiết bị vào hồ sơ cung cấp ứng dụng của mình rồi tạo phiên bản ứng dụng hoạt động với thiết bị thử nghiệm của bạn.

Xuất UDID thiết bị thử nghiệm của bạn

Với tư cách là nhà phát triển, bạn sẽ nhận được email từ Firebase chứa UDID của thiết bị thử nghiệm. Là một tùy chọn, Phân phối ứng dụng giúp dễ dàng thu thập nhiều UDID thiết bị mới cùng một lúc bằng cách cho phép bạn xuất chúng trực tiếp từ bảng điều khiển Firebase dưới dạng tệp văn bản thô.

  1. Để xuất tất cả UDID, hãy mở tab Người kiểm tra & Nhóm .

241a9936898a2fc0.png

  1. Nhấp vào Xuất Apple UDID .

bcf0c26c522d9b4e.png

Tệp phải chứa UDID của thiết bị thử nghiệm của bạn.

Device ID            Device Name                            Device Platform
1234567890     udid.codelab.tester@gmail.com - iPhone SE 2nd Gen        ios

UDID cũng có thể được xuất từ ​​dòng lệnh bằng cách sử dụng fastlane , bạn sẽ thực hiện việc này trong phần tiếp theo.

6. Cập nhật hồ sơ cung cấp ứng dụng của bạn và xây dựng lại nó

Bây giờ, bạn sẽ thêm UDID của thiết bị thử nghiệm vào hồ sơ cung cấp ứng dụng của mình, xây dựng lại phiên bản ứng dụng hoạt động cho thiết bị của bạn và phân phối phiên bản mới.

Thêm làn xuất UDID

  1. Thêm một biến khác ở đầu Fastfile của bạn và đặt nó vào đường dẫn tệp nơi UDID thiết bị của người thử nghiệm sẽ được tải xuống.
firebase_app_id = "<your Firebase app ID>"
app_testers = [
  "your@email.com",
  "another@email.com",
]
tester_udids_file = "tester_udids.txt"
  1. Thiết lập làn đường mới sử dụng hành động xuất UDID của plugin Phân phối ứng dụng để tải xuống UDID của người thử nghiệm, giống như bạn đã làm từ bảng điều khiển.
lane :download_udids do
    firebase_app_distribution_get_udids(
        app: firebase_app_id,
        output_file: tester_udids_file,
    )
end
  1. Chạy làn sau để tải xuống UDID.

$ fastlane download_udids

  1. In ra tệp đã tải xuống, tệp này sẽ chứa UDID của thiết bị thử nghiệm.

$ cat tester_udids.txt

Thêm thiết bị vào bảng điều khiển dành cho nhà phát triển của Apple

  1. Tạo làn sau để thêm UDID vào danh sách thiết bị của bạn trong bảng điều khiển dành cho nhà phát triển Apple, để bạn có thể thêm chúng vào hồ sơ cung cấp của mình bằng hành động register_devices của fastlane :
lane :add_new_devices do
    register_devices(devices_file: tester_udids_file)
end
  1. Sau đó, chạy làn đường:

$ fastlane add_new_devices

Sau đó, bạn sẽ thấy các thiết bị mới trong danh sách thiết bị trên bảng điều khiển dành cho nhà phát triển của mình.

Thêm thiết bị vào hồ sơ cung cấp của bạn

  1. Thêm đối force vào bước hồ sơ cung cấp trong làn đường build của bạn để buộc nó nhận thiết bị mới mỗi khi bạn xây dựng.
lane :build do
    get_certificates()
    get_provisioning_profile(adhoc: true, force: true)
    build_app(export_method: "ad-hoc")
end

Chạy lại làn đường để xây dựng và tải lên

Bây giờ, bạn sẽ cập nhật làn distribute của mình với các làn mới để thêm thiết bị vào hồ sơ cung cấp, xây dựng lại ứng dụng rồi phân phối nó.

  1. Gọi các làn đường mới từ distribute :
lane :distribute do
    download_udids
    add_new_devices
    build
    firebase_app_distribution(
        app: "1:123456789:ios:abcd1234",
        release_notes: "Try out this app!"
        testers: app_testers.join(","),
    )
end
  1. Chạy làn distribute :

$ fastlane distribute

Tại thời điểm này, Fastfile của bạn sẽ trông như thế này:

firebase_app_id = "<your Firebase app ID>"
app_testers = [
  "your@email.com",
  "another@email.com",
]
tester_udids_file = "tester_udids.txt"

default_platform(:ios)

lane :build do
    get_certificates()
    get_provisioning_profile(adhoc: true, force: true)
    build_app(export_method: "ad-hoc")
end

lane :distribute do
    download_udids
    add_new_devices
    build
    firebase_app_distribution(
        app: firebase_app_id,
        release_notes: "Try out this app!",
        testers: app_testers.join(","),
    )
end

lane :download_udids do
    firebase_app_distribution_get_udids(
        app: firebase_app_id,
        output_file: tester_udids_file,
    )
end

lane :add_new_devices do
    register_devices(devices_file: tester_udids_file)
end

Tải xuống bản phát hành từ thiết bị thử nghiệm

Giờ đây, ứng dụng của bạn đã bao gồm UDID của thiết bị thử nghiệm nên chúng có thể được cài đặt trên thiết bị thử nghiệm.

e275f73d57cc8fb1.png

  1. Trên thiết bị thử nghiệm của bạn, hãy quay lại ứng dụng web của người thử nghiệm Phân phối ứng dụng bằng cách sử dụng liên kết trong email hoặc biểu tượng trên màn hình chính của thiết bị.

Khi điều hướng đến ứng dụng lớp học lập trình UDID, bạn có thể thấy bản phát hành đã sẵn sàng để tải xuống.

cha6d03b6ad78746.png

  1. Nếu bạn đang sử dụng thiết bị vật lý, hãy nhấn tải xuống, sau đó cài đặt và chạy ứng dụng!

7. Xin chúc mừng

Bây giờ bạn đã định cấu hình Phân phối ứng dụng và làn đường nhanh để tự động hóa quy trình thử nghiệm trước khi phát hành của mình. Giờ đây, khi bạn muốn mời thêm người thử nghiệm hoặc thêm UDID của họ vào ứng dụng của mình, bạn chỉ cần chạy một lệnh: fastlane distribute .

Vì vậy, không còn phải thu thập UDID riêng lẻ từ những người thử nghiệm hoặc truy cập bảng điều khiển dành cho nhà phát triển của Apple để cập nhật danh sách thiết bị hoặc hồ sơ cung cấp. Bạn thậm chí không cần phải mở XCode!

Quy trình làm việc này dễ dàng thiết lập để chạy hàng giờ hoặc hàng ngày trong môi trường tích hợp liên tục của bạn.

đọc thêm