我一直在尝试使按需资源正常工作,但是我不断收到此编译错误:
/ * com.apple.actool.errors * /
:错误:“ xxx.imageset/xxx@3x.png”的标记组合“ tagName”没有输出规范。
我看过actool man page,有一个选择:
--asset-pack-output-specifications filename
哪个说:
告诉actool在哪里写有关找到的ODR资源的信息 在资产目录中。发出的文件将是一个plist。
但是我不太确定要把什么作为参数/使用此plist的位置,或者即使此选项在纠正错误的正确轨道上。
答案 0 :(得分:2)
我和我的同事在这个错误中苦苦挣扎了整整一天,只能通过擦除我们现有的本地存储库并使用包含按需资源的代码从远程存储库安装新克隆来解决此错误。
在我们的案例中,我是创建按需资源功能并为资产添加标签的人。我构建并运行了所有代码,并且在我的计算机上本地一切正常。我将这些提交推送到我们的远程服务器上,当我的同事撤出时,他们收到了您在尝试构建时报告的资产目录编译错误。
我将构建日志与同事的构建日志进行了比较,发现我拥有--asset-pack-output-specifications标志以及文件名,而即使我们的所有生产代码都相同,它们也没有。我从来没有在开发过程中亲自设置过该标志,它是在过程中的某个时刻自动生成的,但是我不知道在哪里-我什至不知道它的存在,直到发生构建失败。在奋斗了多个小时之后,我们注意到,如果我的同事完全删除了他们的本地项目,并且基本上通过安装新项目并从远程再次回购来重新开始工作,那么他们突然就可以构建了。他们已经尝试清除和核对派生数据,但这没有用。只有完全删除存储库,而项目才完全成功。不知道为什么,但是有关擦除项目和所有相关目录以及从本地计算机完全构建自身的某些事情触发了启用--asset-pack-output-specification标志的功能。
答案 1 :(得分:0)
我只是遇到了这个问题,完全反对删除我的仓库并再次克隆。
我注意到,除了此错误外,我还收到一条警告,指出我的资产具有相同的名称(因此重复)。
为了消除警告,删除重复的资产,修复了编译错误。
希望这对某人有帮助,因为删除存储库并再次克隆不是一个选择。
答案 2 :(得分:0)
我只是面对这个问题。
我可以通过删除按需资源标签并再次将其标记回去来解决此问题。
答案 3 :(得分:0)
我只是通过重新启动Xcode来解决它,然后成功运行。该错误似乎只出现一次...我不知道为什么。