在某些情况下,我们需要覆盖fastlane的appfile中的值,例如,使用不同的苹果帐户发布应用程序,但没有官方记录.
Kra*_*eFx 18
最简单的方法是使用环境变量:
使用Appfile这样的:
apple_id ENV["APPLE_ID"] || "default@company.com"
app_identifier ENV["APP_IDENTIFIER"] || "com.company.default"
Run Code Online (Sandbox Code Playgroud)
现在在没有环境变量的情况下调用fastlane:
fastlane beta
Run Code Online (Sandbox Code Playgroud)
它将使用提供的默认值(default@company.com)
设置您可以使用的不同值
APP_IDENTIFIER="com.custom.app" fastlane enterprise
Run Code Online (Sandbox Code Playgroud)
另外,正如其他回复中已经指出的那样,您可以始终为不同的环境设置多个通道,并为您正在调用的每个操作传递不同的应用程序标识符或用户名.
我们找到了一种方法,使用主项目文件夹中被忽略的 .env 文件。
它可用于覆盖 appfile 中的值,如下所示:
require('dotenv')
Dotenv.load '../.env'
app_identifier "original.app.identifier" # The bundle identifier of your app
apple_id "account@example.com" # Your Apple email address
team_name "originalTeamName"
team_id "originalTeamID"
unless ENV["N42_FASTLANE_APP_IDENTIFIER"].nil?
app_identifier ENV["N42_FASTLANE_APP_IDENTIFIER"]
end
unless ENV["N42_FASTLANE_APPLE_ID"].nil?
apple_id ENV["N42_FASTLANE_APPLE_ID"]
end
unless ENV["N42_FASTLANE_TEAM_NAME"].nil?
team_name ENV["N42_FASTLANE_TEAM_NAME"]
end
unless ENV["N42_FASTLANE_TEAM_ID"].nil?
team_id ENV["N42_FASTLANE_TEAM_ID"]
end
Run Code Online (Sandbox Code Playgroud)
在 .env 文件中设置新值 van 如下:
N42_FASTLANE_APPLE_ID="anotherAccount@example.com"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4870 次 |
| 最近记录: |