Batch adding “-fno-objc-arc” flag to (multiple) source files

◇◆丶佛笑我妖孽 提交于 2019-11-28 11:04:58

Select the ones you want to add the flag to (using Shift and/or Command) and press Enter to display the flag editor. Press Done to apply the entered flag(s) to the selected file(s).

Tutorial

I have composed a blog post to serve as a tutorial for this process.

By far the simplest option is just use the ARC conversion tool under Edit > Refactor.

It's not very clear, but basically you just check any files you want to use ARC and uncheck any that you don't. This will do the following:

1) Files that are unchecked will have the -fno-objc-arc flag applied

2) Files that are checked will be converted to ARC

3) Files that are checked that have already been converted to ARC will be untouched

Read that again carefully. What sometimes confuses people is that they assume that files that are already converted should be left unchecked when running the tool again, but this will incorrectly apply the -fno-objc-arc to those files (resulting in leaks).

You should think of the ARC Conversion tool as a "batch-select ARC compatible files and convert files that aren't already ARC" tool instead of a straight conversion tool.

You can run the conversion tool as many times as you want - the effects are not cumulative (although converting files to ARC is not reversible).

I need to set files that are not supposed to support ARC (mainly 3rd-party code).

In addition to managing the flags, you could simply create a static library for these sources, then link.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!