问题描述:debug的时候是没有问题的。构建测试新的schme Prerelease adhoc包的时候编译失败了。
报错:
** ARCHIVE FAILED **
The following build commands failed:
CompileC /Users/xxxxx/Library/Developer/Xcode/DerivedData/…/xxxxxx.o
xxxx/.../xxxxxx.m normal armv7 objective-c com.apple.compilers.llvm.clang.1_0.compiler
(1 failure)
Build step 'Execute shell' marked build as failure
Finished: FAILURE
问题定位:排除了类型的错误
网上给出的解决方案有以下几种:
1.头文件引用问题
旧:#import "FMDB.h"
新:#import <FMDB/FMDB.h>
这里写代码片""表示从当前项目路径开始寻找文件,如果找不到,则到系统(项目)中配置的头文件路径去找;
<>表示直接到系统(项目)中配置的头文件路径去找。
要相应的一些pod头文件修改之后,执行生成xcarchive文件正常。
结果:经过排除发现我们工程里没有这个问题,不好使。
2.类型问题
NSString *utm = [[NSString alloc] initWithFormat:@"%ld",indexPath.row];
改为如下:
NSString *utm = [NSString stringWithFormat:@"%@", (@(indexPath.row))]
结果:经过排除发现我们工程里没有这个问题,不好使。
3.设置编译时候的路径,${SRCROOT} 选择递归。 完美解决问题
原因是我使用的时候创建了一个scheme,在framework的查找路径中,没有做出设置。 设置路径${SRCROOT} 类型为递归查找就行了。