IOS开发ARC forbids explicit message send of 'autorelease'错误解决办法

本文详细介绍了在iOS开发中遇到ARC与非ARC文件兼容性问题时的解决方法,包括如何在编译设置中正确配置-fno-objc-arc或-fobjc-arc标签,以及调整Objective-C自动引用计数设置来消除'ARC forbid explicit messages send of autorelease'或'release'错误。

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

在ios中经常会遇到:ARC forbids explicit message send of 'autorelease' 或“ARC forbids explicit message send of release”这样的错误。原因可能是项目使用了arc机制而有些文件禁止使用而报错,

解决方法:

1.在ARC工程中引用禁用ARC的文件时,则需要在compile sources中添加对应文件-fno-objc-arc标签,在非ARC工程中添加ARC文件,则需要在compile sources中添加对应文件-fobjc-arc标签

点击项目名,在中间一栏选择targets,然后选择build phases选项。

展开Compile Sources,找到你报错的文件名,然后双击添加-fno-objc-arc:如下图:


2.解决工程-->"Build Settings"->levels-->找到Objective-C Automatic Reference Counting项-->将它的值设置为NO。再次编译,就没这个错误了











评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值