ARC forbids Objective-C objects in struct

释放双眼,带上耳机,听听看~!

错误提示:

ARC forbids Objective-C objects in struct
报错提示

错误原因:

  1. 自己的旧项目没有使用ARC,但是引入的第三方库却使用了ARC。
  2. 自己的新项目使用了ARC,但是引入的第三方库或者以前写的代码却没有使用ARC。

这两种情况下,肯定是通不过编译的。可以通过升级旧项目,让其使用ARC来解决,但这个办法有时候会很麻烦。

有一个简单的办法就是,可以指定单个文件是否采用ARC来进行编译。

方法就是找到 TargetSettings -> Build Phases -> Compile Sources
在 Compile Sources 里面找到需要特殊处理的文件,加上编译选项(Compiler Flags),具体针对上面两种情况有所区别。

解决方法:

  1. 对于第一种情况,给采用了ARC的源文件,添加 -fobjc-arc 选项。
  2. 对于第二种情况,给没有使用ARC的源文件,添加 -fno-objc-arc
添加编译选项

人已赞赏
iOS文章

iOS tableView向上偏移64个像素的问题

2019-12-31 16:00:47

iOS文章

iOS里的动态库和静态库

2019-12-31 16:16:30

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索