1. ก่อนเริ่มต้น
ใน Codelab นี้ คุณจะได้เรียนรู้วิธีใช้ Firebase App Distribution และปลั๊กอิน fastlane เพื่อแจกจ่ายแอป iOS ให้ผู้ทดสอบ รวบรวม UDID ของอุปกรณ์ทดสอบ และลงทะเบียน UDID เหล่านั้นในโปรไฟล์การจัดสรรของแอป เพื่อให้คุณส่งบิลด์เฉพาะกิจให้ผู้ทดสอบได้อย่างรวดเร็ว
สิ่งที่คุณจะได้เรียนรู้
- วิธีอัปโหลดและแจกจ่ายแอป iOS รุ่นก่อนเปิดตัว (เฉพาะกิจ) ให้ผู้ทดสอบโดยใช้ Firebase App Distribution และ fastlane
- วิธีลงชื่อสมัครเป็นผู้ทดสอบและดาวน์โหลดแอปที่เผยแพร่ในอุปกรณ์ทดสอบ
- วิธีลงทะเบียนอุปกรณ์ทดสอบอย่างรวดเร็วโดยการส่งออก UDID ของอุปกรณ์ทดสอบด้วยปลั๊กอิน fastlane ของ App Distribution
- วิธีอัปเดตโปรไฟล์การจัดสรรของแอปและอัปโหลดซ้ำเพื่อการจัดจำหน่าย
สิ่งที่ต้องมี
- บัญชี Google
- เครื่อง Apple ที่ติดตั้ง XCode 11.7 ขึ้นไป
- แอป iOS ก่อนเผยแพร่แบบ Ad Hoc ที่สร้างใน Xcode
- บัญชีนักพัฒนาแอป Apple แบบชำระเงิน
- อุปกรณ์ iOS จริงสำหรับการทดสอบ
แอปจำลอง iOS จะใช้ได้กับ Codelab ส่วนใหญ่ แต่โปรแกรมจำลองจะดาวน์โหลดรุ่นต่างๆ ไม่ได้
คุณยังคงยืนยันได้ว่าการตั้งค่าใช้งานได้โดยตรวจสอบว่าปุ่ม "ดาวน์โหลด" ปรากฏในเว็บแอปผู้ทดสอบ App Distribution
2. เริ่มต้นใช้งาน
ตั้งค่า fastlane
App Distribution ผสานรวมกับ fastlane เพื่อให้คุณเผยแพร่บิลด์รุ่นทดลองของแอปได้โดยอัตโนมัติ App Distribution ผสานรวมกับการกำหนดค่า fastlane
- ติดตั้งและตั้งค่า fastlane
- เรียกใช้
fastlane init
ในไดเรกทอรีรากของโปรเจ็กต์ระหว่างการตั้งค่า แล้วเลือก "การตั้งค่าด้วยตนเอง" คุณจะเห็นไดเรกทอรีย่อยชื่อfastlane
ซึ่งมีFastfile
,Appfile
และPluginfile
ซึ่งคุณจะใช้เพื่อกำหนดค่า fastlane
ติดตั้ง Firebase CLI
นอกจากนี้ คุณจะต้องติดตั้ง Firebase CLI ด้วย หากใช้ macOS หรือ Linux คุณสามารถเรียกใช้คำสั่ง cURL ต่อไปนี้
curl -sL https://firebase.tools | bash
หากใช้ Windows โปรดอ่านวิธีการติดตั้งเพื่อรับไบนารีแบบสแตนด์อโลนหรือติดตั้งผ่าน npm
เมื่อติดตั้ง CLI แล้ว การเรียกใช้ firebase --version
ควรรายงานเวอร์ชันของ 12.0.0
ขึ้นไป
$ firebase --version 12.0.0
3. สร้างแอปด้วย Fastlane
สร้างแอป
- ตั้งค่าตัวแปรส่วนกลางบางอย่างสำหรับ fastlane ใน
./fastlane/Appfile.
ระบุรหัสแอปและ Apple ID ของคุณ
app_identifier("<your app's bundle identifier>")
apple_id("<your Apple id>")
- สร้างเลนแรกและใช้การดำเนินการ
build_app
ของ fastlane (หรือที่เรียกว่าgym
) เพื่อสร้างแอปโดยเพิ่มข้อมูลต่อไปนี้ลงใน./fastlane/Fastfile
default_platform(:ios)
lane :build do
build_app(export_method: "ad-hoc")
end
- ลงนามในแอปเพื่อการจัดจำหน่าย
สำหรับ Codelab นี้ คุณจะจัดการการรับรองและโปรไฟล์ของคุณเองโดยใช้ get_certificates
(หรือที่เรียกว่า cert
) ซึ่งจะสร้างใบรับรองการลงนามในเครื่องและจัดเก็บทุกอย่างไว้ในคีย์เชนของ macOS อย่างไรก็ตาม โดยปกติแล้วคุณจะต้องใช้ fastlane sync_code_signing action
(หรือที่เรียกว่า match
) เพื่อจัดการใบรับรองและโปรไฟล์การลงนามโค้ดของทีมอย่างปลอดภัย
lane :build do
get_certificates()
build_app(export_method: "ad-hoc")
end
- ตั้งค่า Provisioning Profile สำหรับแอปโดยใช้การดำเนินการ
get_provisioning_profile
(หรือที่เรียกว่าsigh
) ซึ่งจะช่วยให้คุณแชร์แอปกับผู้ทดสอบได้
lane :build do
get_certificates()
get_provisioning_profile(adhoc: true)
build_app(export_method: "ad-hoc")
end
- [ไม่บังคับ] หากไม่เคยเรียกใช้แอปมาก่อน ให้เรียกใช้คำสั่งต่อไปนี้เพื่อสร้างแอปในคอนโซลนักพัฒนาแอปของ Apple
$ fastlane produce --skip_itc
- สุดท้าย ให้สร้างแอปโดยเรียกใช้เลน
ระบบจะแจ้งให้คุณป้อน Apple ID, รหัสผ่าน (ซึ่งจัดเก็บไว้ในพวงกุญแจ) และรหัสชุดของแอป
$ fastlane build
หากพบปัญหา โปรดดูคู่มือการแก้ปัญหาของ fastlane
4. อัปโหลดแอปไปยัง Firebase
เมื่อสร้างแอปแล้ว คุณก็พร้อมอัปโหลดแอปไปยัง App Distribution
สร้างโปรเจ็กต์ Firebase ใหม่
- ลงชื่อเข้าใช้คอนโซล Firebase โดยใช้บัญชี Google
- คลิกปุ่มเพื่อสร้างโปรเจ็กต์ใหม่ แล้วป้อนชื่อโปรเจ็กต์ (เช่น
UDID Export Codelab
) - คลิกต่อไป
- หากได้รับแจ้ง ให้อ่านและยอมรับข้อกำหนดของ Firebase แล้วคลิกต่อไป
- (ไม่บังคับ) เปิดใช้ความช่วยเหลือจาก AI ในคอนโซล Firebase (เรียกว่า "Gemini ใน Firebase")
- สำหรับ Codelab นี้ คุณไม่จำเป็นต้องใช้ Google Analytics ดังนั้นให้ปิดตัวเลือก Google Analytics
- คลิกสร้างโปรเจ็กต์ รอให้ระบบจัดสรรโปรเจ็กต์ แล้วคลิกดำเนินการต่อ
เพิ่มแอป iOS ลงในโปรเจ็กต์
- คลิกไอคอน iOS เพื่อสร้างแอป Firebase iOS ใหม่ แล้วป้อนรหัส Bundle ของแอป
- ข้าม 2-3 ขั้นตอนถัดไป แล้วคลิกไปยังคอนโซล คุณจะเพิ่ม SDK ลงในแอปในภายหลัง
ตอนนี้โปรเจ็กต์และแอปของคุณพร้อมใช้งานในหน้าภาพรวมโปรเจ็กต์แล้ว
เปิดใช้ App Distribution
- ในส่วนเผยแพร่และตรวจสอบ ให้คลิกการเผยแพร่แอป
- หลังจากยอมรับข้อกำหนดแล้ว ให้คลิก "เริ่มต้นใช้งาน" เพื่อเปิดใช้ App Distribution สำหรับแอป
ตั้งค่าการเผยแพร่ใน fastlane
- เรียกใช้คำสั่งต่อไปนี้จากรูทของโปรเจ็กต์ iOS เพื่อเพิ่ม App Distribution ลงในการกำหนดค่า fastlane
หากคำสั่งแจ้งตัวเลือก ให้เลือกตัวเลือกที่ 3: RubyGems.org
$ fastlane add_plugin firebase_app_distribution
- ยืนยันว่าได้ติดตั้งปลั๊กอินแล้ว โดยทำดังนี้
$ fastlane
เอาต์พุตควรแสดง fastlane-plugin-firebase_app_distribution
ในรายการปลั๊กอินที่ติดตั้ง
- หลังจากยืนยันว่าติดตั้งปลั๊กอินแล้ว ให้เลือกตัวเลือก 0 เพื่อยกเลิก
ตรวจสอบสิทธิ์โปรเจ็กต์ Firebase
หากต้องการใช้ปลั๊กอิน fastlane คุณจะต้องตรวจสอบสิทธิ์โปรเจ็กต์ Firebase ก่อน
- เรียกใช้คำสั่งต่อไปนี้เพื่อเชื่อมต่อ CLI กับบัญชี Google
$ firebase login
- เมื่อคำสั่งพิมพ์ลิงก์การตรวจสอบสิทธิ์ ให้เปิดลิงก์ในเบราว์เซอร์
- เมื่อได้รับข้อความแจ้ง ให้ลงชื่อเข้าใช้บัญชี Google และให้สิทธิ์เข้าถึงโปรเจ็กต์ Firebase
เผยแพร่แอป
ตอนนี้คุณก็พร้อมที่จะเผยแพร่แอปแล้ว
- ที่ด้านบนของ
./fastlane/Fastfile
ให้กำหนดตัวแปรชื่อfirebase_app_id
แทนที่<your_app_id>
ด้วยรหัสแอป Firebase สำหรับแอปที่คุณสร้าง (ดูได้ในหน้าการตั้งค่าโปรเจ็กต์)
Fastfile
เขียนด้วย Ruby ดังนั้นให้ใช้ไวยากรณ์ Ruby เพื่อกำหนดตัวแปร
firebase_app_id = "<your_app_id>"
- เพิ่มเลนใหม่ชื่อ
distribute
ซึ่งเรียกเลนบิลด์ จากนั้นเผยแพร่แอปโดยใช้การดำเนินการfirebase_app_distribution
lane :distribute do
build
firebase_app_distribution(
app: firebase_app_id,
release_notes: "Try out this app!",
)
end
- เรียกใช้เลนใหม่เพื่อสร้างแอปและสร้างการเผยแพร่
$ fastlane distribute
ตอนนี้ Fastfile ของคุณควรมีลักษณะดังนี้
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
หลังจากรีเฟรชคอนโซล Firebase แล้ว คุณจะเห็นรุ่นใหม่ของแอป
5. เชิญผู้ทดสอบให้ดาวน์โหลดแอป
เมื่อผู้ทดสอบยอมรับคำเชิญให้ทดสอบบิลด์เฉพาะกิจ ระบบจะขอสิทธิ์ในการแชร์ UDID ของผู้ทดสอบ หากผู้ใช้ยินยอม App Distribution จะรวบรวมข้อมูลอุปกรณ์ของผู้ใช้และแจ้งให้คุณทราบทางอีเมล ในส่วนนี้ คุณจะเพิ่มตัวเองเป็นผู้ทดสอบเพื่อดาวน์โหลดและทดสอบแอปที่คุณเผยแพร่
เพิ่มตัวเองเป็นผู้ทดสอบในรุ่น
- ในส่วน
firebase_app_id
ที่ด้านบนของ Fastfile ให้สร้างตัวแปรเพื่อเก็บผู้ทดสอบและใส่อีเมลของคุณเอง รวมถึงอีเมลอื่นๆ ที่คุณต้องการลอง (ไม่บังคับ)
firebase_app_id = "<your Firebase app ID>"
app_testers = [
"your@email.com",
"another@email.com",
]
- ใช้เมธอด Array#join ของ Ruby เพื่อเปลี่ยนอาร์เรย์
app_testers
เป็นสตริงที่คั่นด้วยคอมมา ซึ่งเป็นสิ่งที่พารามิเตอร์testers
คาดหวัง จากนั้นส่งผลลัพธ์ไปยังพารามิเตอร์testers
ของ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
ตอนนี้ Fastfile ของคุณควรมีลักษณะดังนี้
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
- เรียกใช้เลนอีกครั้ง
$ fastlane distribute
เมื่อเรียกใช้เลนแล้ว ผู้ทดสอบที่คุณเพิ่มจะได้รับอีเมลคำเชิญจาก App Distribution ซึ่งจะแจ้งให้ทราบถึงรุ่นที่พร้อมใช้งานใหม่ ตอนนี้คุณจะเห็นผู้ทดสอบที่เพิ่มไว้ในการเผยแพร่แอปในคอนโซล Firebase
เนื่องจากคุณระบุอีเมลไว้ คุณจะได้รับอีเมลจาก Firebase App Distribution ที่เชิญให้ทดสอบแอป ตอนนี้คุณเป็นผู้ทดสอบคนแรกแล้ว ดำเนินการต่อในส่วนด้านล่างเพื่อตั้งค่าเป็นผู้ทดสอบในอุปกรณ์ทดสอบ
ลงทะเบียนอุปกรณ์ทดสอบ
ในฐานะผู้ทดสอบ คุณจะต้องลงชื่อเข้าใช้ Google บนอุปกรณ์ทดสอบเพื่อเข้าถึงแอปเวอร์ชันที่เผยแพร่ซึ่งคุณได้รับเชิญให้ทดสอบ เนื่องจากบิลด์ทดสอบเป็นรุ่นเฉพาะกิจ คุณจึงต้องลงทะเบียนอุปกรณ์ทดสอบด้วยการติดตั้งโปรไฟล์ Firebase หลังจากนั้น คุณจะเข้าถึงรุ่นที่พร้อมใช้งานได้จากเว็บแอปโปรแกรมทดสอบการเผยแพร่แอปโดยใช้เว็บคลิปที่เพิ่มลงในหน้าจอหลักของอุปกรณ์
- ในอุปกรณ์ทดสอบ iOS ให้เปิดอีเมลที่ส่งจาก Firebase App Distribution แล้วแตะลิงก์เริ่มต้นใช้งาน โปรดเปิดลิงก์ใน Safari
- ตอนนี้คุณอยู่ในเว็บแอปผู้ทดสอบ App Distribution แล้ว ในหน้าที่ปรากฏขึ้น ให้ลงชื่อเข้าใช้ด้วยบัญชี Google แล้วแตะยอมรับคำเชิญ
- ตอนนี้คุณจะเห็นผลงานที่คุณได้รับเชิญให้เข้าร่วมแล้ว แตะลงทะเบียนอุปกรณ์ในผลงานใดผลงานหนึ่ง
- เมื่อได้รับข้อความแจ้ง ให้ดาวน์โหลดโปรไฟล์ Firebase จากนั้นติดตั้งโปรไฟล์ในแอปการตั้งค่า
การติดตั้งโปรไฟล์จะให้สิทธิ์ Firebase ในการดำเนินการต่อไปนี้
- ลงทะเบียนอุปกรณ์ทดสอบโดยรวบรวมรหัสอุปกรณ์ที่ไม่ซ้ำกัน (UDID) ของอุปกรณ์
Firebase จะส่งอีเมลที่มี UDID ของอุปกรณ์ทดสอบไปยังเจ้าของและผู้แก้ไขทั้งหมดของโปรเจ็กต์ Firebase
- ติดตั้งเว็บคลิปในหน้าจอหลักของอุปกรณ์ทดสอบ เว็บคลิปจะเปิดเว็บแอปสำหรับผู้ทดสอบ App Distribution ซึ่งช่วยให้คุณติดตั้งและเข้าถึงแอปทดสอบทั้งหมดได้
ตอนนี้อุปกรณ์ทดสอบของคุณได้รับการลงทะเบียนสำหรับการเผยแพร่แอปแล้วในเว็บแอปสำหรับผู้ทดสอบ App Distribution
ตอนนี้คุณแชร์ UDID ของอุปกรณ์ทดสอบกับ Firebase แล้ว คุณจึงกลับมาใช้บัญชีนักพัฒนาแอปได้ ในแท็บผู้ทดสอบของแดชบอร์ด App Distribution ตอนนี้ข้อมูลผู้ทดสอบจะปรากฏในรุ่นของแอปโดยมีสถานะเป็น "ยอมรับ" ดังนี้
ในส่วนถัดไป คุณจะเพิ่ม UDID ของอุปกรณ์ลงในโปรไฟล์การจัดสรรของแอป แล้วจึงสร้างแอปเวอร์ชันที่ใช้ได้กับอุปกรณ์ทดสอบ
ส่งออก UDID ของอุปกรณ์ทดสอบ
ในฐานะนักพัฒนาแอป คุณจะได้รับอีเมลจาก Firebase ซึ่งมี UDID ของอุปกรณ์ทดสอบ App Distribution มีตัวเลือกที่ช่วยให้คุณรวบรวม UDID ของอุปกรณ์ใหม่หลายรายการได้พร้อมกันอย่างง่ายดาย โดยให้คุณส่งออก UDID จากคอนโซล Firebase โดยตรงเป็นไฟล์ข้อความดิบ
- หากต้องการส่งออก UDID ทั้งหมด ให้เปิดแท็บผู้ทดสอบและกลุ่ม
- คลิกส่งออก UDID ของ Apple
ไฟล์ควรมี UDID ของอุปกรณ์ทดสอบ
Device ID Device Name Device Platform
1234567890 udid.codelab.tester@gmail.com - iPhone SE 2nd Gen ios
นอกจากนี้ คุณยังส่งออก UDID จากบรรทัดคำสั่งโดยใช้ fastlane ได้ด้วย ซึ่งคุณจะทำในส่วนถัดไป
6. อัปเดตโปรไฟล์การจัดสรรของแอปและสร้างใหม่
ตอนนี้คุณจะเพิ่ม UDID ของอุปกรณ์ทดสอบลงในโปรไฟล์การจัดสรรของแอป สร้างแอปเวอร์ชันที่ใช้ได้กับอุปกรณ์ของคุณใหม่ และเผยแพร่เวอร์ชันใหม่
เพิ่มเลนการส่งออก UDID
- เพิ่มตัวแปรอีกตัวที่ด้านบนของ Fastfile แล้วตั้งค่าเป็นเส้นทางไฟล์ที่จะดาวน์โหลด UDID ของอุปกรณ์ผู้ทดสอบ
firebase_app_id = "<your Firebase app ID>"
app_testers = [
"your@email.com",
"another@email.com",
]
tester_udids_file = "tester_udids.txt"
- ตั้งค่าเลนใหม่ที่ใช้การดำเนินการส่งออก UDID ของปลั๊กอิน App Distribution เพื่อดาวน์โหลด UDID ของผู้ทดสอบ เช่นเดียวกับที่คุณทำจากคอนโซล
lane :download_udids do
firebase_app_distribution_get_udids(
app: firebase_app_id,
output_file: tester_udids_file,
)
end
- เรียกใช้เลนต่อไปนี้เพื่อดาวน์โหลด UDID
$ fastlane download_udids
- พิมพ์ไฟล์ที่ดาวน์โหลด ซึ่งควรมี UDID ของอุปกรณ์ทดสอบ
$ cat tester_udids.txt
เพิ่มอุปกรณ์ลงใน Apple Developer Console
- สร้างเลนต่อไปนี้เพื่อเพิ่ม UDID ลงในรายการอุปกรณ์ในคอนโซลนักพัฒนาแอปของ Apple เพื่อให้คุณเพิ่ม UDID ลงในโปรไฟล์การจัดสรรได้โดยใช้การดำเนินการ fastlane
register_devices
lane :add_new_devices do
register_devices(devices_file: tester_udids_file)
end
- จากนั้นเรียกใช้เลนโดยทำดังนี้
$ fastlane add_new_devices
จากนั้นคุณจะเห็นอุปกรณ์ใหม่ในรายการอุปกรณ์ของคอนโซลนักพัฒนาแอป
เพิ่มอุปกรณ์ลงในโปรไฟล์การจัดสรร
- เพิ่มอาร์กิวเมนต์
force
ลงในขั้นตอนโปรไฟล์การจัดสรรในเลนbuild
เพื่อบังคับให้เลือกอุปกรณ์ใหม่ทุกครั้งที่คุณสร้าง
lane :build do
get_certificates()
get_provisioning_profile(adhoc: true, force: true)
build_app(export_method: "ad-hoc")
end
เรียกใช้เลนอีกครั้งเพื่อสร้างและอัปโหลด
ตอนนี้คุณจะอัปเดตdistribute
เลนด้วยเลนใหม่เพื่อเพิ่มอุปกรณ์ลงในโปรไฟล์การจัดสรร สร้างแอปใหม่ แล้วจึงจัดจำหน่าย
- โทรหาเลนใหม่จาก
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
- เรียกใช้เลน
distribute
$ fastlane distribute
ตอนนี้ Fastfile ของคุณควรมีลักษณะดังนี้
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
ดาวน์โหลดรุ่นจากอุปกรณ์ทดสอบ
ตอนนี้แอปของคุณมี UDID ของอุปกรณ์ทดสอบแล้ว จึงสามารถติดตั้งลงในอุปกรณ์ทดสอบได้
- ในอุปกรณ์ทดสอบ ให้กลับไปที่เว็บแอปสำหรับผู้ทดสอบ App Distribution โดยใช้ลิงก์ในอีเมลหรือไอคอนในหน้าจอหลักของอุปกรณ์
เมื่อไปที่แอป Codelab UDID คุณจะเห็นว่ารุ่นพร้อมให้ดาวน์โหลดแล้ว
- หากใช้อุปกรณ์จริง ให้กดดาวน์โหลด จากนั้นติดตั้งและเรียกใช้แอป
7. ขอแสดงความยินดี
ตอนนี้คุณได้กำหนดค่า App Distribution และ fastlane เพื่อทำให้กระบวนการทดสอบเวอร์ชันทดลองเป็นแบบอัตโนมัติแล้ว ตอนนี้เมื่อต้องการเชิญผู้ทดสอบเพิ่มเติมหรือเพิ่ม UDID ของผู้ทดสอบลงในแอป คุณจะต้องเรียกใช้คำสั่งเดียวเท่านั้นคือ fastlane distribute
ดังนั้นคุณจึงไม่ต้องรวบรวม UDID จากผู้ทดสอบทีละคน หรือไปที่คอนโซลของนักพัฒนาซอฟต์แวร์ Apple เพื่ออัปเดตรายการอุปกรณ์หรือโปรไฟล์การจัดสรรอีกต่อไป โดยไม่จำเป็นต้องเปิด XCode
คุณตั้งค่าเวิร์กโฟลว์นี้ให้ทำงานทุกชั่วโมงหรือทุกวันในสภาพแวดล้อมการผสานรวมอย่างต่อเนื่องได้ง่ายๆ
อ่านเพิ่มเติม
- ดูฟีเจอร์ของ Firebase App Distribution รวมถึง SDK ในแอปสำหรับ iOS
- ดูข้อมูลเพิ่มเติมเกี่ยวกับ fastlane
- จัดการการลงนามโค้ดของทีมด้วย
match
- ผสานรวม fastlane เข้ากับ CI