找不到“$(SRCROOT)agvtool | increment_build_number | Fastlane

问题描述 投票:6回答:2

与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
2个回答
12
投票

您问题的当前解决方案是从您的构建设置中删除$(SRCROOT)。 $(SRCROOT)的意思是“.xcodeproj所在的目录”,所以你可以完全删除它(Xcode仍然会从.xcodeproj中查找它)。

我们最近从get_version_number动作中删除了agvtool(在2.87.0版本中支持使用xcodeproj gem,我们可以更好地处理找到的目标,处理$(SRCROOT),并删除“avgtool设置过程”。我将成为我们正在努力取代increment_build_numberget_build_number中的agvtool,这有望避免像这样的问题。


3
投票

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

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

然后删除$(SRCROOT)并确保在更改Xcode后仍然找到您的信息plist

新值可能是:

  • INFOPLIST_FILE = "/ProjectName-info.plist";
  • INFOPLIST_FILE = "/MyProjectFolderName/ProjectName-info.plist";
© www.soinside.com 2019 - 2024. All rights reserved.