當前位置:成語大全網 - 新華字典 - [iOS 開發] 如何針對不同環境配置 info.plist 中的信息?

[iOS 開發] 如何針對不同環境配置 info.plist 中的信息?

前兩天,在適配 HTTPS 時,由於我們的測試環境服務器沒有啟用 HTTPS,只有正式環境的服務器啟用了 HTTPS ,所以在項目中需要針對不同環境做不同的 ATS 配置處理。這個配置也涉及到 info.plist 中 ATS 相關屬性的修改,這也就引出了 info.plist 是否可以動態配置的問題了。

壹開始,我想 info.plist 本質上是壹個 XML 文件,那麽 XML文件中可不可以通過 #ifdef DEBUG 宏定義來動態配置呢?然後我就嘗試了壹下這種做法,結果編譯不通過。實踐證明此方法不可行。

然後,我又想 build setting 中不是可以分別設置 debug 和 release 模式下的壹些參數麽,於是到 build setting 中搜索了壹下 info.plist,沒想到還真有這個模塊,release 和 debug 模式的默認值都是 info.plist。

接下來,我自己也復制了壹個 info.plist,並改名 infoDebug.plist,然後修改了壹些針對 debug 模式的參數,最後回到 build setting 中,將對應的選項值改為 infoDebug.plist,Command+B 編譯壹下之後,大功告成!

除此之外,如果我們如果需要動態配置開發或者生產網絡環境, 以及在多項目和運行中切換環境,可以借助 Xcode 配置文件 xcconfig 來實現。