ios – 当使用Xcode bot构建时,“没有规则来处理文件……对于架构i386”

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

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

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

Warning: no rule to process file '[…]/CDIcmessage.m' of type sourcecode.c.objc for architecture i386

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

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

解决方法

我也有这个问题,但情况略有不同.随着iOS 8中包含原生Cocoa Touch Frameworks,我想抛弃使用旧的,虽然很棒的黑客来创建iOS框架.通过这样做,我开始得到同样的警告……很多人!我通过从Target的Build Settings中的“Valid Architectures”中删除i386和x86_64来解决它们.

我在“架构”部分和“有效体系结构”构建设置中添加了这两种体系结构,因为我想确保这些体系结构在我运行lipo时可用于创建通用(是的,Apple仍然不是我告诉我们一个接近这个的方法

通过从“架构”和“有效架构”中删除i386和x86_64架构.并为两个调试和释放设置“仅构建活动体系结构”为“否”.我能够获得所需的结果而没有“没有规则处理…”的警告,我正在查看我的.m文件.

希望这可以帮助!

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...