新建scheme构建报错问题处理方案

当debug无误但在构建Prerelease或adhoc包时遇到编译失败,排除了类型错误,尝试了修复头文件引用问题和类型问题未果。最终发现是新scheme的framework查找路径未设置,通过将路径设为${SRCROOT}并选择递归,成功解决了构建问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述: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} 类型为递归查找就行了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值