iOS 開發高階01 多環境配置

2021-10-18 22:15:28 字數 3818 閱讀 1554

多環境配置主要有以下幾種形式:

1、建立多target

應用場景:僅在開發target下測試乙個功能

如果是oc**中使用dev預定義巨集:

如果是swift**中使用dev預定義巨集:

其中-d的含義檢視如下:(也就是將宣告的變數設定為true)

使用如下**即可實現:

#if dev

nslog(@"dev");

#else

nslog(@"***");

#endif

2、建立scheme

通過新增不同的scheme對應不同開發環境

應用場景:不同的開發環境配置不同的host

info.plist中新增如下欄位供外界呼叫:

使用**如下:

nsstring *infopath = [nsbundle.mainbundle pathforresource:@"info" oftype:@"plist"];

nsdictionary *infodic = [[nsdictionary alloc] initwithcontentsoffile:infopath];

nslog(@"%@",infodic[@"host_url"]);

通過多scheme也可以通過build settings配置不同的圖示…

3、通過xcconfig檔案管理build settings中的配置

pod 中引入的檔案就是通過xcconfig檔案管理build settings中的配置

建立自己的xcconfig檔案,並修改系統xcconfig檔案配置:

注意:xcconfig檔案的命名需要以所在資料夾的名稱作為字首然後是專案名、環境名稱

使用xcconfig定義不同環境的host_urlconfig-testcode-debug.xcconfig檔案中新增:host_url =info.plist中新增如下欄位供外界呼叫:

使用**如下:

nsstring *infopath = [nsbundle.mainbundle pathforresource:@"info" oftype:@"plist"];

nsdictionary *infodic = [[nsdictionary alloc] initwithcontentsoffile:infopath];

nslog(@"%@",infodic[@"host_url"]);

config-testcode-debug.xcconfig檔案中新增動態庫的配置:other_ldflags = -framework "afnetworking"
host_url = 192.168.1.100

// ld

other_ldflags = -framework "afnetworking"

xcconfig檔案本質就是key-value,可以配置build settings中的絕大部分字段

xcconfig檔案中對應build settings中字段的縮寫對應關係參考: xcode build settings

如果使用自己建立的xcconfig檔案那麼執行pod install就會提示我們pod生成的xcconfig檔案可能不會產生效果。要解決這個問題就需要在我們自己建立的xcconfig檔案中引入pod生成的xcconfig檔案:

// 絕對路徑、相對路徑都可以

#include "pods/target support files/pods-testcode/pods-testcode.debug.xcconfig"

自己建立的xcconfig檔案中存在pod生成的xcconfig檔案中相同的字段,那麼就會覆蓋pod中的字段,因此要想兩個檔案中的字段都生效需要使用繼承標識:

other_ldflags = $(inherited) -framework "afnetworking"
1、url變數中存在//,後面的字串會被當做注釋
// 通過定義乙個變數來解決

2、使用變數時和

{}和和()包括變數作用相同

3、條件設定

other_ldflags[config=debug][sdk=iphonesimulator*][arch=x86_64] = $(inherited) -framework 「afnetworking」

經過上述條件設定後afnetworking庫僅會在debug、模擬器、x86_64架構下編譯

[sdk=iphoneos*]表示真機

web開發如何配置多環境

在web應用程式開發過程中,常常會牽扯到開發環境這個話題,通常來說,至少存在兩個開發環境 生產環境和測試環境。問題在於,在不同的開發環境下,需要用到不同的設定 如資料庫連線等 那麼問題來了 如何讓程式自動識別所處的開發環境是哪個開發環境呢?1 配置多個入口檔案 symfony框架的做法 目前幾乎所有...

iOS開發專案篇 01環境搭建

ios開發專案篇 01環境搭建 一 基本過程 1.新建乙個專案 1 刪除storyboard 2 在配置介面中,把main 刪除,手動設定 2.準備素材 說白了,這種情況下,如果手機是3.5英吋的ios7系統,則看不到該啟動動畫。設定方法,右鍵單擊show in finder,修改json檔案。co...

Gradle多環境配置

在開發中遇到了多個不同的環境,比如測試環境,上線環境,甚至根據不同開發組有多個環境,平常做法就是建乙個類來儲存,然後在裡面不停的注釋來達到切換環境的效果,其實gradle提供了多環境配置,配置起來也挺簡單的,也不用之前的無腦注釋了.首先開啟自己的gradle,在buildtype裡面有當前的兩個環境...