1. לפני שמתחילים
במעבדת קוד זה תלמד כיצד להשתמש ב-Firebase App Distribution ובפלאגין Fastlane שלו כדי להפיץ אפליקציית iOS לבודקים, לאסוף UDIDs של מכשירי בדיקה ולרשום אותם בפרופיל ההקצאה של האפליקציה שלך, כדי שתוכל לבנות אד-הוק במהירות לבוחנים ' ידיים.
מה תלמד
- כיצד להעלות ולהפיץ אפליקציית iOS טרום-הפצה (Ad Hoc) לבודקים באמצעות Firebase App Distribution ו- fastlane .
- כיצד להירשם כבוחן ולהוריד את האפליקציה המופצת במכשיר בדיקה.
- כיצד לרשום במהירות מכשירי בדיקה על ידי ייצוא UDID של מכשירי בדיקה עם תוסף fastlane של App Distribution.
- כיצד לעדכן את פרופיל ההקצאה של האפליקציה ולהעלות אותה מחדש להפצה.
מה אתה צריך
- חשבון גוגל
- מכונת אפל עם XCode 11.7+ מותקן
- אפליקציית iOS בהפצה מוקדמת של אד הוק הבנויה ב-Xcode
- חשבון Apple Developer בתשלום
- מכשיר iOS פיזי לבדיקה.
אפליקציית סימולטור iOS תעבוד עבור רוב מעבדת הקוד, אך סימולטורים אינם יכולים להוריד גרסאות.
אתה עדיין יכול לוודא שההגדרה עבדה על ידי אימות שכפתור "הורד" מופיע באפליקציית האינטרנט של בודק ההפצה של אפליקציות.
2. התחל
הגדר Fastlane
הפצת אפליקציות משתלבת עם Fastlane כדי לאפשר לך להפוך את ההפצה לאוטומטית של בניית טרום-הפצה של האפליקציה שלך. הפצת אפליקציות משתלבת עם תצורת ה-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 שלך:
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
- חתום על האפליקציה שלך להפצה.
עבור מעבדת קוד זה, תנהל את ההסמכה והפרופיל שלך באמצעות get_certificates
(הידוע גם בשם cert
), אשר יוצר אישורי חתימה באופן מקומי ומאחסן הכל במחזיק מפתחות macOS שלך. עם זאת, בדרך כלל, תרצה להשתמש בפעולת fastlane sync_code_signing action
(הידועה גם בשם match
) כדי לנהל בצורה מאובטחת את האישורים והפרופילים של חתימת הקוד של הצוות שלך.
lane :build do
get_certificates()
build_app(export_method: "ad-hoc")
end
- הגדר פרופיל אספקה עבור האפליקציה שלך באמצעות הפעולה
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
כעת לאחר שבנית את האפליקציה שלך, אתה מוכן להעלות אותה להפצת אפליקציות.
צור והגדר פרויקט Firebase
- היכנס ל-Firebase.
- במסוף Firebase, צור או הוסף פרויקט חדש, ולאחר מכן תן לפרויקט שלך "UDID Export Codelab".
אינך צריך להפעיל את Google Analytics עבור הפרויקט הזה.
- לחץ על צור פרויקט .
הוסף את אפליקציית iOS שלך לפרויקט
- לחץ על סמל iOS כדי ליצור אפליקציית Firebase חדשה ל-iOS, והזן את מזהה החבילה של האפליקציה שלך.
- דלג על השלבים הבאים ולאחר מכן לחץ על המשך למסוף . אתה תוסיף SDK לאפליקציה שלך מאוחר יותר.
הפרויקט והאפליקציה שלך זמינים כעת בדף סקירת הפרויקט .
הפעל הפצת אפליקציות
- בקטע שחרור ומעקב, לחץ על הפצת אפליקציות .
- לאחר קבלת התנאים, לחץ על "התחל" כדי להפעיל הפצת אפליקציות עבור האפליקציה שלך.
הגדר הפצה ב- fastlane
- הפעל את הפקודה הבאה מהשורש של פרויקט ה-iOS שלך כדי להוסיף הפצת אפליקציות לתצורת ה-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
שקורא ל-build lane, ולאחר מכן מפיץ את האפליקציה שלך באמצעות פעולת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 של רובי כדי להפוך את מערך
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. לאחר מכן, ניתן לגשת לגירסאות שזמינות עבורך מאפליקציית האינטרנט של בודק ה-App Distribution, באמצעות קליפ האינטרנט שנוסף למסך הבית של המכשיר שלך.
- במכשיר הבדיקה של iOS שלך, פתח את האימייל שנשלח מ-Firebase App Distribution והקש על הקישור התחל . הקפד לפתוח את הקישור בספארי.
- אתה נמצא כעת באפליקציית האינטרנט של בודק הפצת אפליקציות. בדף שמופיע, היכנס באמצעות חשבון Google שלך והקש על קבל הזמנה.
- עכשיו אתה יכול לראות את הפרסומים שהוזמנת אליהם. הקש על רשום מכשיר מתחת לאחת מהגרסאות.
- כאשר תתבקש, הורד את פרופיל Firebase ולאחר מכן התקן את הפרופיל באפליקציית ההגדרות.
התקנת הפרופיל מעניקה ל-Firebase הרשאה:
- רשום את מכשיר הבדיקה על ידי איסוף מזהה המכשיר הייחודי (UDID).
Firebase שולח לכל הבעלים והעורכים של פרויקט Firebase אימייל הכולל את ה-UDID של מכשיר הבדיקה.
- התקן קליפ אינטרנט במסך הבית של מכשיר הבדיקה. קליפ האינטרנט פותח את אפליקציית האינטרנט של בודק App Distribution, המאפשרת לך להתקין ולגשת לכל אפליקציות הבדיקה שלך.
באפליקציית האינטרנט של בודק הפצת אפליקציות, מכשיר הבדיקה שלך רשום כעת לשחרור האפליקציה שלך.
כעת, לאחר ששיתפת את ה-UDID של מכשיר הבדיקה שלך עם Firebase, כעת תוכל להמשיך כמפתח. בכרטיסייה בודקים של לוח המחוונים של הפצת אפליקציות , פרטי הבוחן שלך מופיעים כעת מתחת לגרסה של האפליקציה שלך עם הסטטוס "מקובל":
בסעיף הבא, תוסיף את המכשיר UDID לפרופיל האספקה של האפליקציה שלך ולאחר מכן תבנה גרסה של האפליקציה שלך שעובדת עם מכשיר הבדיקה שלך.
ייצא את UDID של מכשיר הבודק שלך
כמפתח, תקבל אימייל מ-Firebase המכיל את ה-UDID של מכשיר הבדיקה. כאופציה, הפצת אפליקציות מקלה על איסוף מספר UDID של מכשירים חדשים בו-זמנית, בכך שהיא מאפשרת לייצא אותם ישירות ממסוף Firebase כקובץ טקסט גולמי.
- כדי לייצא את כל ה-UDIDs, פתח את הכרטיסייה בודקים וקבוצות .
- לחץ על ייצא Apple UDIDs .
הקובץ צריך להכיל את ה-UDID של מכשיר הבדיקה שלך.
Device ID Device Name Device Platform
1234567890 udid.codelab.tester@gmail.com - iPhone SE 2nd Gen ios
ניתן לייצא את UDIDs גם משורת הפקודה באמצעות 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 כדי להוריד את ה-UDIDs של הבודקים, בדיוק כמו שעשית מהמסוף.
lane :download_udids do
firebase_app_distribution_get_udids(
app: firebase_app_id,
output_file: tester_udids_file,
)
end
- הפעל את הנתיב הבא כדי להוריד את ה-UDIDs.
$ fastlane download_udids
- הדפס את הקובץ שהורד, שאמור להכיל את ה-UDIDs של מכשיר הבדיקה.
$ cat tester_udids.txt
הוסף מכשירים למסוף המפתחים של אפל
- צור את הנתיב הבא כדי להוסיף את ה-UDIDs לרשימת המכשירים שלך במסוף המפתחים של Apple, כך שתוכל להוסיף אותם לפרופיל ההקצאה שלך באמצעות פעולת
register_devices
של fastlane :
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
הורד את המהדורה ממכשיר הבדיקה
כעת, כשהאפליקציה שלך כוללת את ה-UDIDs של מכשיר הבדיקה, ניתן להתקין אותם על מכשירי הבדיקה.
- במכשיר הבדיקה שלך, חזור לאפליקציית האינטרנט של בודק ההפצה של אפליקציות באמצעות הקישור בהודעת האימייל, או הסמל במסך הבית של המכשיר.
כאשר אתה מנווט לאפליקציית UDID codelab, אתה יכול לראות שהמהדורה מוכנה להורדה.
- אם אתה משתמש במכשיר פיזי, לחץ על הורד ולאחר מכן התקן והפעל את האפליקציה!
7. מזל טוב
הגדרת כעת את הפצת האפליקציות ואת fastlane כדי להפוך את תהליך הבדיקה לפני ההפצה שלך לאוטומטי. כעת, כאשר אתה רוצה להזמין בודקים נוספים, או להוסיף את UDIDs שלהם לאפליקציה שלך, תצטרך רק להריץ פקודה אחת: fastlane distribute
.
אז לא עוד איסוף אישי UDID בודקים, או מעבר למסוף המפתחים של אפל כדי לעדכן רשימות מכשירים או פרופילי אספקה. אתה אפילו לא צריך לפתוח את XCode!
קל להגדיר זרימת עבודה זו כך שתפעל מדי שעה או יומי בסביבת האינטגרציה הרציפה שלך.
לקריאה נוספת
- חקור את התכונות של Firebase App Distribution , כולל ה-SDK שלנו בתוך האפליקציה עבור iOS
- למידע נוסף על fastlane
- נהל את חתימת הקוד של הקבוצה שלך עם
match
- שלב fastlane ב-CI שלך