React Native Android & Ios 環境變數設定 : IOS篇

Ashley Hsueh
4 min readFeb 28, 2023
  1. 在 Xcode 中打開 projcet/ios 的檔案

點擊右鍵 duplicate 複製 Target 兩份,以分別作為 development 和 stage 環境的建置

2. 接著重新命名這兩個檔案:左鍵選到檔案,再長按一下即可進入編輯模式,分別替這兩個檔案加上環境的名稱

3.重新命名 schmes ,打開 Manage Schemes

把剛剛改的檔名這邊也跟著一起改

4. 設定讀取 env 檔案

點選 Edit Scheme

Edit schema /Build /Pre-actions

點選左下角的 + 點擊 New Run Script Action

首先設定好 Provide build settings from 你選的要設定的檔案,接著在底下內容加入:

cp "${PROJECT_DIR}/../.env.development" "${PROJECT_DIR}/../.env"

記得選 schema

在 Debug mode 中重複剛剛的步驟:

5.更新 info.plist 檔名

引入 plist 的地方也要跟著改成新的檔名

Build Settings /Search filter /info.plist File

6. 設定 Podfile 檔案:Pods /Podfile

target 'project(你的app名稱)' do 找到這行把它移除
abstract_target 'projectCommonPods(你的app名稱CommonPods)' do 加上這行

7. 設定 Pod : 完成以上設定後,最後就是重新設定 Pod

在 terminel 中輸入:

cd ios && pod install

之後就可以依據環境需求去 Build 成你需要的 app

如何在同時手機上查看不同環境的 app ?

設定 bundle identifier

點選所要設定的 target /general/identity/ bundle identifier

bundle identifier 是能讓手機辨識 APP 的 ID ,通常會是 com.你的產品名稱

因此如果你想要辨識不同環境的 app 可以這樣做:

production bundle identifier: com.你的產品名稱

stage bundle identifier: com.你的產品名稱.stage

development bundle identifier: com.你的產品名稱.dev

當然在 display name 也可以如此,在 display name 產品名稱後面加上環境後綴,可以讓我們能看快速依據 app 名稱快速辨別現在打開的是哪一個環境的版本。

--

--