簡體   English   中英

`xcconfig` 文件中的條件用戶定義變量

[英]Conditional user defined variables in `xcconfig` file

使用 Xcode 8,在 macOS Sierra 上運行我試圖在xcconfig文件中聲明一個條件變量。

我的項目正在使用fastlane match ,所以我主要想使用fastlane gym來存檔我的應用程序,但我也希望能夠手動執行存檔(測試目的)。

我想要實現的是這樣的:

_ARCHIVING_WITH_CLI = YES // Actually want to check for some fastlane ENV variabel here, not sure how...

#ifdef _ARCHIVING_WITH_CLI
    _PROVISIONING_PROFILE_APP_STORE = sigh_com.mycomp.app_appstore
#else
    _PROVISIONING_PROFILE_APP_STORE = match AppStore com.mycomp.app
#endif

PROVISIONING_PROFILE_SPECIFIER[config=Release] = $(_PROVISIONING_PROFILE_APP_STORE)

但顯然這是錯誤的語法。 我曾嘗試尋找文檔,但沒有真正找到任何文檔。

  1. 你能幫我解決xcconfig語法嗎?
  2. 你能幫我檢查存檔是手動啟動還是通過fastlane gym ( xcodebuild CLI)

以下是您正在尋找的文檔: https//docs.fastlane.tools/actions/

您還可以運行gym help並查看支持的參數。 xcconfigxcconfig中的任何其他參數類似:

gym {
  ...,
  xcconfig: "STRING",
  ...
}

我不確定為什么你想要設置matchgym手動存檔。 您應該能夠從您的機器運行相同的Fastfile, match將處理安裝您的證書,您將完成相同的事情。

請參閱https://codesigning.guide/

您可以根據 sdk、體系結構或配置有條件地設置變量。 格式如下所示:

<FIELD>[<condition_name_1>=<condition_value_1>][<condition_name_2>=<condition_value_2>].. = <Value>

其中condition_name_*可以是sdk / arch / config ,具體取值可以參考官方文檔

對於您的場景,您似乎可以取消基於sdk的應用條件,或創建自定義配置:一個用於 Fastlane,一個用於 cli/手動使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM