短
我收到了一个错误:
没有这样的文件或目录
但这是故意的。有没有办法忽略这个错误?或者我可以通过编程方式从我的副本包资源中删除文件吗?
背景
我有一个针对不同提供商的应用。每个提供商都有不同的配置,并获得一些不同的json文件。例如,Provider1具有file1.json,file2.json,Provider2具有file1.json,file3.json,Provider3仅具有file2.json等等。
对于每个应用上传,json文件都可以更改(它是一个设置事物)。现在在我的基本项目中,我引用了每个可能的json文件。这些文件充满了测试数据。
解决方法就像这样全自动: 获取提供者的单个json文件 - > merge在我的基本项目中创建了json文件,并使用测试数据覆盖现有的jsons - >使用fastlane启动应用上传
通常我在上传新版本之前取消注释所有测试数据。所以在XCode中每个可能的参考都是可以的。
现在我忘了取消注释事项,提供商收到我的测试数据错误的文件。
为了解决这个问题,我设置了一个git ignore。所以在我的项目中只有提供者需要的jsons文件。但是我的项目文件中的引用仍然存在。所以我理解为什么会出现错误。
如何智能地解决这个问题?
答案 0 :(得分:1)
我解决了这个问题......它很脏但很有效。
在合并过程中,我通过shell清理我的数据,然后提供者数据覆盖其中一些:
cd goToPathWhereFilesAre
echo "" > file1.json
echo "" > file2.json
所以我的引用总是正确的,内容为空,提供者数据都会覆盖它们。
编辑并感谢@Anton Tropashko采取更清洁的方式
cd goToPathWhereFilesAre
touch file1.json
touch file2.json
答案 1 :(得分:0)
您应该为每个提供商创建一个目标。并使用适当的目标设置每个文件(config / json)... 难道你不用手动区分版本!祝你好运