【问题标题】:Cannot find "$(SRCROOT) agvtool | increment_build_number | Fastlane找不到“$(SRCROOT) agvtool | increment_build_number | Fastlane
【发布时间】:2018-08-31 23:12:02
【问题描述】:

Fastlane 中与 increment_build_number 插件关联的 avgtool 返回错误。

当我在 Fastlane 中运行 increment_build_number 时,我得到了

Updating CFBundleVersion in Info.plist(s)...

$(SRCROOT)/Info.plist
Cannot find "$(SRCROOT)/Info.plist"

问题的原因是 avgtool 无法识别 $(SRCROOT)

找到的解决方案之一是将 Xcode 设置中 Info.plist 的路径更新为绝对路径。

由于有许多开发人员在从事此项目,使用绝对路径(到 plist)更新项目设置会影响其他人构建项目。

还有其他方法可以解决这个问题吗?

【问题讨论】:

    标签: ios xcode plist fastlane


    【解决方案1】:

    当前解决问题的方法是从构建设置中删除 $(SRCROOT)。 $(SRCROOT) 表示“.xcodeproj 所在的目录”,因此您可以完全删除它(Xcode 仍会相对地从 .xcodeproj 中查找它)。

    我们最近从get_version_number 操作中删除了agvtool(在2.87.0 版本中支持使用xcodeproj gem,我们可以更好地处理找到的目标,处理$(SRCROOT),并删除它“avgtool 设置过程”。我将尽快替换 increment_build_numberget_build_number 中的 agvtool,希望能防止出现类似的问题。

    【讨论】:

      【解决方案2】:

      您可以打开项目设置并找到密钥INFOPLIST_FILE

      • INFOPLIST_FILE = "$(SRCROOT)/ProjectName-info.plist";

      然后删除$(SRCROOT)确保在您更改 Xcode 后仍然可以找到您的信息列表

      新值可能是:

      • INFOPLIST_FILE = "/ProjectName-info.plist";

      • INFOPLIST_FILE = "/MyProjectFolderName/ProjectName-info.plist";

      【讨论】:

      • 我必须跳过第一个 / 才能使其正常工作。
      • 是的,属于你的项目设置。我是这么想的。只要确保 Xcode 可以读取 Plist 文件。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-07
      • 2018-07-14
      相关资源
      最近更新 更多