๐ข Fabric Beta ์ง์ ์ข ๋ฃ
์ฌ๋ด ๋ฐฐํฌ๋ฅผ ์ํด ๊ทธ๋์ ์ด์ฌํ ์จ์๋ Beta
์๋น์ค๊ฐ deprecated
๋์์ต๋๋ค.
Fabric is deprecated and shutting down May 4, 2020.
Learn how your Fabric access and apps will be impacted after this date.
Work with your Fabric organization's admin to migrate your apps to
Firebase to take advantage of the latest tools weโve built there.
ํ์ฌ Beta
์๋น์ค๋ฅผ ๋ณด๋ฉด ์์ ๊ฐ์ ๋ฉ์์ง๊ฐ ์ฐ์ฌ์์ต๋๋ค.
5์ 4์ผ ์ดํ๋ก๋ Fabric
์์ ์ง์ํ๋ ๋ชจ๋ ์๋น์ค๋ค์ด ์ง์์ค๋จ ๋๋ฏ๋ก ๊ฐ๋ฅํ๋ฉด
Firebase๋ก ์ด์ ์ ๊ถ์ฅํ๋ค๋ ๋ด์ฉ์ ๊ธ์
๋๋ค.
๐ Firebase Distribution ์ฌ์ฉํ๊ธฐ
Firebase ์ ์ ๊ทผํ์ ์ดํ [ํ์ง]
> App Distiribution
์ด ์ ํฌ๊ฐ ์ฌ์ฉํด์ผํ ์๋น์ค ์
๋๋ค.
App Distribution
์ผ๋ก ๋ค์ด์ค์๋ฉด ๋ค์๊ณผ ๊ฐ์ ํ์ด์ง๊ฐ ๋ณด์ด์คํ
๋ฐ, ์ฌ๊ธฐ์ ์์ํ๊ธฐ ๋ฒํผ์ ๋๋ฌ์ค๋๋ค.
โ ๏ธ ์ด์ ์ ์์ํ๊ธฐ๋ฅผ ๋๋ฅด์ ๊ฒฝ์ฐ์๋ ์ ๋ฉ๋ด๊ฐ ๋ณด์ด์ง ์์์. ์ฐธ๊ณ ํด์ฃผ์ธ์
01. Firebase ์นํ์ด์ง๋ฅผ ํตํ ๋ฐฐํฌ
Firebase
์นํ์ด์ง๋ฅผ ํตํ ๋ฐฐํฌ๋ ์ ๋ง ๊ฐ๋จํฉ๋๋ค.
๋ฆด๋ฆฌ์ฆ ๋ฒ์ ์ IPA ํ์ผ์ ๋ง๋ค์ด ์นํ์ด์ง์ Drag & Drop ๋ฐฉ์์ผ๋ก ์
๋ก๋๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
์
๋ก๋ ์ดํ์๋ ๋ฒ์ ๋ฆด๋ฆฌ์ฆ ๋
ธํธ๋ฅผ ์์ฑํ ์ ์์ผ๋ฉฐ ๋ฐฐํฌ ๋์์ ์ง์ ํ ์ ์์ต๋๋ค.
02. Firebase CLI๋ฅผ ํตํ ๋ฐฐํฌ
Firebase CLI
๋ฅผ ํตํ ๋ฐฐํฌ๋ PC์ Firebase Tool
์ด ์ค์น๋์ด ์์ด์ผํฉ๋๋ค.
์๋์ ๊ฐ์ ๋ช
๋ น์ด๋ฅผ ํตํด ์ค์นํฉ๋๋ค.
์ค์น๊ฐ ๋์ด์๋ค๋ฉด ์ด ๋จ๊ณ๋ ์๋ต ํ์ ๋ ๋ฉ๋๋ค.
curl -sL firebase.tools | bash
์ค์นํ ์ดํ ํฐ๋ฏธ๋์ firebase
๋ช
๋ น์ ์
๋ ฅํ์ฌ ๋ช
๋ น์ด๊ฐ ์ํ์ด ๋๋์ง ํ์ธํฉ๋๋ค.
๋ช
๋ น์ด๊ฐ ์ํ์ด ๋๋ค๋ฉด ์ ์์ ์ผ๋ก ์ค์น ๋ ๊ฒ์
๋๋ค.
์ดํ ๋ก๊ทธ์ธ์ ์ํํฉ๋๋ค.
$ firebase login:ci
์ ๋ช ๋ น์ด๋ฅผ ์ํํ๊ฒ ๋๋ฉด firebase ๋ก๊ทธ์ธ ๊ณผ์ ์ ๊ฑฐ์นฉ๋๋ค.
๐ก
FIREBASE\_APP\_TOKEN
๊ฐ์ cli ์ค์น์ดํ ๋ก๊ทธ์ธ์ ์งํํ์๋ฉด ๋ฐ๊ธ๋ฐ์ ์ ์์ต๋๋ค.
๋ก๊ทธ์ธ ํ ์ดํ ๋ค์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํด๋ณด์๋ฉด ํ์ฌ ๋ก๊ทธ์ธ๋์ด์๋ ๊ณ์ ์ ์ ๋ณด๊ฐ ์ถ๋ ฅ๋ฉ๋๋ค.
$ firebase projects:list
๐ก ์ ๋ช ๋ น์ ํตํด ํ์ฌ ๋ด๊ฐ ๊ด๋ฆฌ์ค์ธ ํ๋ก์ ํธ ๋ชฉ๋ก์ ๋ถ๋ฌ์ฌ ์๋ ์์ต๋๋ค.
Firebase CLI
๋ฅผ ํตํ ๋ฐฐํฌ๋ฅผ ์ํด์๋ appID
๋ฅผ ์์์ผํฉ๋๋ค.
[ํ๋ก์ ํธ ์ค์ ]
-> ์ผ๋ฐ
ํญ ํ๋จ์ ๋ณด์๋ฉด ์ฑID
๋ผ๋ ํญ๋ชฉ์ด ์์ต๋๋ค.ย ย
$ firebase appdistribution:distribute App.ipa \
--app 1:1234567890:ios:0a1b2c3d4e5f67890 \
--release-notes "Bug fixes and improvements" --testers "user1@example.com, user2@example.com"
โ ๏ธ IPA ํ์ผ์ด ์๋ ๊ฒฝ๋ก๋ก ์ ๊ทผํ ์ดํ์ ์ฌ์ฉํ์๋ฉด ๋๋ ํ ๋ฆฌ ๊ฒฝ๋ก๋ฅผ ๋ณ๋๋ก ์ ๋ ฅํ์ง ์์ผ์ ๋ ๋๋,
IPA ํ์ผ์ด ์๋ ๊ฒฝ๋ก์์ ๋ช ๋ น์ ์ ๋ ฅํ์๋ ค๋ฉด IPA๊ฐ ์กด์ฌํ๋ ๊ณณ์ ๊ฒฝ๋ก๋ฅผ ์ ์ด์ฃผ์ ์ผํฉ๋๋ค.
์ดํ์ ์์ ๊ฐ์ ๋ช
๋ น์ ํตํด ๋ฐฐํฌํ ์ ์์ต๋๋ค.
์์ ๋ณต์ฌํ์
จ๋ ์ฑID
๋ --app
ํญ๋ชฉ ๋ค์ ๊ฐ์ ๋ฐ๊พธ์
์ ์ด์ฉํ์๋ฉด ๋ฉ๋๋ค.
๋ค์ด๊ฐ์ผํ๋ ํ์ ๊ฐ์ appId
, ๋ฐฐํฌํ ๋์์ IPA
์
๋๋ค.
03. Fastlane๋ฅผ ์ด์ฉํ ๋ฐฐํฌ ๐
๊ธฐ์กด์ Fastlane๋ฅผ ํตํด์ Beta
๋ฐฐํฌ๋ฅผ ํ์
จ์๋ค๋ฉด ์ฝ๊ฐ์ ์คํฌ๋ฆฝํธ ์์ ๋ง ํ์๋ฉด ๋ฉ๋๋ค.
-
Fastlane ํ๋ฌ๊ทธ์ธ์ ์ค์นํฉ๋๋ค.
$ fastlane add_plugin firebase_app_distribution
.env
ํ๊ฒฝ๋ณ์ ํ์ผ์ ๋๊ฐ์ง ๊ฐ์ ์ถ๊ฐํฉ๋๋ค.
โ ๏ธ Firebase cli ๊ฐ ์ค์น ๋์ด์๋ค๋ ์ ์ ๊ฐ ํ์ํฉ๋๋ค.
๐ก ๋ก๊ทธ์ธ ์ดํ ์ถ๋ ฅ๋๋ ๊ฐ์ FIREBASEAPPTOKEN ์ ๋๋ค.
# for Firebase app distribution
FIREBASE_APP_ID = "์ฑ์์ด๋ ์
๋ ฅ"
FIREBASE_APP_TOKEN = "FIREBASE\_APP ํ ํฐ"
Fastfile
๋ด์ ๋ฐฐํฌ ์คํฌ๋ฆฝํธ๋ฅผ ์ถ๊ฐํฉ๋๋ค.
firebase_app_distribution(
app: ENV['FIREBASE_APP_ID'],
ipa_path: lane_context[SharedValues::IPA_OUTPUT_PATH],
firebase_cli_token: ENV['FIREBASE_APP_TOKEN'],
groups: "์ํ๋ ๊ทธ๋ฃน๋ช
",
release_notes: "๋ฆด๋ฆฌ์ฆ ๋
ธํธ ๋ด์ฉ",
debug: true
)
์์ ๊ฐ์ ๊ณผ์ ์ ํตํด์ ๋ฐฐํฌ๋ฅผ ํ์๋ฉด Firebase Distribution
์ ์ฌ์ฉํ ์ ์๊ฒ ๋ฉ๋๋ค.
์ข์ ๊ธฐ๋ฅ์ Firebase
๋ฅผ ํตํด์ ๋ฌด๋ฃ๋ก ์ฌ์ฉ ํ ์ ์๋ค๋ ๊ฒ ๋ง์ผ๋ก๋ ์ ๋ง ์ข์ ๊ธฐ๋ฅ์ด๋ ํ
์คํธ๋ฅผ ์ํด์ ํ๋ฒ ์จ๋ณด์ธ์! ๊ฐ๋ ฅํ๊ฒ ์ถ์ฒ๋๋ฆฝ๋๋ค.