"使用Xcode bot构建时,没有规则来处理文件......对于架构i386"

Bob*_*ork 8 xcode continuous-integration ios xcode-bots xcode-server

我为我的iOS XCode项目设置了持续集成,但是当Xcode bot构建我的项目时,我不断收到很多警告.当我构建(用于运行,测试或存档)时,我没有得到任何警告.

我认为这与我的项目设置有关.我的主项目中有一个'内部'项目,包含我需要的库.我正在为i386架构构建两个项目,因此它可以在模拟器中运行(因此Xcode机器人可以运行测试).

确切的警告如下.我对.m内部项目中的每个文件都收到此警告.

Warning: no rule to process file '[…]/CDICMessage.m' of type sourcecode.c.objc for architecture i386
Run Code Online (Sandbox Code Playgroud)

大多数关于此警告的Google结果都是针对.h错误添加到"编译源"的.m文件,但显然我的文件应该在那里.

同样,此警告仅显示在Xcode服务器上,本地构建很好.构建是正常的,否则测试成功并构建存档.最大的问题是警告堆会淹没项目可能产生的任何其他警告.

小智 3

我也遇到了这个问题,但情况略有不同。随着 iOS 8 中包含原生 Cocoa Touch 框架,我想放弃使用一种古老但很棒的 hack 来创建 iOS 框架。在这样做的过程中,我开始收到完全相同的警告......大量警告!我通过从目标的构建设置中的“有效架构”中删除 i386 和 x86_64 解决了这些问题。

我在“架构”部分和“有效架构”构建设置中添加了这两种架构,因为我想确保当我运行 lipo 来创建通用架构时,这些架构都可供我使用(是的,Apple 仍然没有据我所知,没有给我们一种方法来做到这一点)

通过从“体系结构”和“有效体系结构”中删除 i386 和 x86_64 体系结构。并将调试和发布的“仅构建活动架构”设置为“否”。我能够获得所需的结果,而不会在 .m 文件中出现大量“没有要处理的规则...”警告。

希望这可以帮助!

  • 呵呵....您正在从二进制文件中删除 x86_64/i386 支持 :D 您对此感到满意吗? (3认同)