从.env文件更改应用程序名称

时间:2017-11-17 13:20:01

标签: ios fastlane

我正在尝试使用目标从相同的代码库构建多个应用程序。我正在使用Fastlane,.env文件来启动不同的构建。 Build使用不同的app_identifiers正常上传,但我无法通过.env文件更改应用名称

以下是我的样本.env.target1文件:

SCHEME_NAME=SampleFastlaneTesting
BUNDLE_IDENTIFIER=com.*****.SampleFastlaneTesting
APP_NAME=“SampleFastlaneTesting”

我使用“APP_NAME”键存储每个版本的应用名称。在交付文件中 我的设置如下:

name ENV[‘APP_NAME’]

根据这个link它应该可以工作,但是当我启动构建时它没有更新。我做错了什么?

3 个答案:

答案 0 :(得分:0)

尝试使用“BUNDLE_DISPLAY_NAME”或“DISPLAY_NAME”更改“APP_NAME”

编辑:

阅读fastlane,这update_info_plist可以帮到你。

答案 1 :(得分:0)

好像你说你使用的文件名是.env.target1。您可以找到fastlane如何使用.env个文件here,因此如果您想使用该文件,则需要使用fastlane --env target1 <your lane>来调用fastlane。

要实际更新主屏幕上显示的应用名称,您需要使用update_info_plist操作。在运行gym之前编辑您的车道并包含以下内容(或者只是将其放在开头):

update_info_plist(
  plist_path: "path/to/Info.plist", # !!! Set to your Info.plist's path !!!
  display_name: ENV["APP_NAME"],
  app_identifier: ENV["BUNDLE_IDENTIFIER"]
)

答案 2 :(得分:0)

主要问题是如何使用.env文件更改元数据,特别是名称,描述,关键字等

我认为如果你在name.txt中设置ENV[‘APP_NAME’](当你下载元数据时),那么它就可以用于其他元数据。

还有一件事要在你的DeliverFile上进行尝试(我对此进行了测试,如果下载元数据时没有元数据文本文件,则可以使用):

name({
  'default' => ENV[‘APP_NAME’],
  'en-US' => ENV['APP_NAME']
})

运行环境:

fastlane yourLane --env target1

示例路径:

  desc "Upload metadata only"
  lane :upload_metadata do
     sh "fastlane deliver skip_screenshots --app_identifier # {ENV['APP_IDENTIFIER']}"
  end

使用示例lane运行示例ENV:

fastlane upload_metadata --env target1