加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ios – 如何以编程方式为非ARC xcode项目中的特定文件启用ARC?

发布时间:2020-12-14 17:40:32 所属栏目:百科 来源:网络整理
导读:我有一种情况,我需要为少数非ARC xcode项目中的许多文件启用ARC.我不希望完全转换为ARC,只需要使用arc启用少量文件. 有许多解决方案使用XCode控制台将-fobjc-arc标志包含在Compile Sources中的特定文件中.但是我在多个xcode项目中有太多文件要通过XCode单独
我有一种情况,我需要为少数非ARC xcode项目中的许多文件启用ARC.我不希望完全转换为ARC,只需要使用arc启用少量文件.

有许多解决方案使用XCode控制台将-fobjc-arc标志包含在Compile Sources中的特定文件中.但是我在多个xcode项目中有太多文件要通过XCode单独更改它.

有没有一种方法可以通过编程方式修改构建阶段设置.
我找到的帖子很少

> Tutorial or Guide for Scripting XCode Build Phases
> Per-file compiler flags in Xcode project template

这两个都是很好的解决方案,但我需要设置一个机制,我可以编写脚本来管理它们.其中一些在服务器上运行,并且生成的xcode被分发给其他人进行测试.

project.pbxproj代码的操作似乎是最可能的选择.但我不知道该怎么做.

解决方法

如果查看.xcodeproj文件中的.pbxproj文件,可以看到项目中包含的文件.我不确定你想要手动修改标志的深度,但我有一些文件设置了编译器标志.在.pbxproj文件中,它们看起来像这样:

源代码中的D5298D04170F232900D3B684 / * ASIHTTPRequest.m * / = {isa = PBXBuildFile; fileRef = FACE22CF15B72C4C00A0A4AD / * ASIHTTPRequest.m * /; settings = {COMPILER_FLAGS =“ – fno-objc-arc”; }; };

而没有编译器标志的文件看起来像这样:

源代码中的D5298D02170F232900D3B684 / * GradientShapeView.m * / = {isa = PBXBuildFile; fileRef = FACE22C715B6F90000A0A4AD / * GradientShapeView.m * /; };

我不知道为什么,但这些编译器标志和文件在.pbxproj文件中列出了4次.我在项目中有12个文件,并设置了编译器标志,但该文件中的标志有48次.

您可以设置文本解析器来运行此文件,并将标志添加到您希望拥有它们的特定文件中.我不确定你还会在这方面做些什么,但这将是一种将编译器标志添加到特定文件的perl可编写脚本的方法.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读