Xcode自动引用计数(ARC)转换工具问题

4
我第一次运行ARC转换工具。我按照说明处理了所有的问题/错误,并在“要转换的目标”对话框中取消勾选了需要跳过的第三方库。运行完工具后,它会显示所有更改文件的报告,但是没有任何文件被更改。接下来我保存并尝试构建项目,结果发现由于我的项目中所有对retain和release的调用,导致几乎有1000个构建错误。据我所知,转换工具应该删除所有对retain、release和autorelease的调用,但这对我来说并不适用。
有人遇到过这个问题吗?如果是,你是如何解决的?或者是我的责任从我的应用程序中删除所有的retains & releases吗?如果是这样的话,我不确定转换工具的意义是什么,请指点。
提前感谢。

1
我尝试了两个项目的自动ARC转换。其中一个表现良好,它识别出需要修复的一些问题。我修复完毕后,再次进行转换并点击“保存”,它就会进行所有更改而且一切正常。在第二个项目中,我的经历与你类似。它向我展示了所有针对ARC所做的更改,我点击保存,但它只是发出警告声(就像有错误一样),然后什么都没有发生。我也尝试取消选中一些文件,就像你所做的,这样保存才可以生效,但是我和你一样遇到了大量的构建错误。希望我能帮上忙,但愿这里有人发布解决方案。 - XJones
自从发布这篇文章后,我手动删除了所有retain、release、autorelease和autorelease pool的出现。这真的很糟糕,但现在我能够在ARC模式下运行应用程序了。不过,我仍然希望找到一个真正的解决方案来解决这个问题。 - jmurphy
请务必在此链接 https://bugreport.apple.com 上提交错误报告,因为这听起来不像是正确的行为。 - Brad Larson
我和你的情况一模一样...我试图创建一个全新的项目(默认使用ARC),并手动添加旧项目转换后的文件...但我得到了完全一样的错误列表。 - MatterGoal
2个回答

6

1
一篇很好的步骤说明,再次提到快照问题(文章底部)导致“保存”按钮无法正常工作:http://www.daveoncode.com/2011/10/24/migration-to-arc-automatic-reference-counting-using-xcode-4-2-refactor/ - jbcaveman
我按照上述两个建议的步骤操作,但保存按钮仍然无法使用。最终,我转到“文件”->“项目/工作区设置”->“快照”,取消选中“在批量编辑操作之前创建项目快照”,这样才允许我按下保存按钮。不确定上述两个步骤是否必要。 - Jon C

3

如果您允许在遇到错误时继续构建(首选项-常规),则会更好地运行。但是,并非所有文件都会完全更改或转换。但是,一些正则表达式可以完成这个脏活。

find-replace-window

如果有人想要复制和粘贴;

\[([\[\w\s\]]+) autorelease\]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接