好吧,我一直在我的項目中高興地使用ARC,直到我試圖向我的項目添加一些第三方代碼。我拖動文件夾(不是項目文件,只是一些viewcontroller源文件)。第三方代碼不是ARC,所以我做了編輯 - >重構 - >轉換到Objective-C ARC並僅選擇第三方應用中的文件轉換爲ARC。一切都順順當當,但我開始下面的警告在我以前的工作代碼:Xcode認爲我的項目不再是ARC了
TTKSoundGenerator.m:94:10: warning: '__bridge' casts have no effect when not using ARC [-Warc-bridge-casts-disallowed-in-nonarc]
(__bridge CFStringRef)soundFile,
^~~~~~~~
1 warning generated.
這是第一條線索有什麼不妥。我繼續構建並運行,並確信應用程序崩潰的地方仍然在被引用的地方發佈。因此ARC儘管在項目文件中將Objective-C自動引用計數設置爲YES,但根本不工作。
我回去做了編輯 - >重構 - >轉換到Objective-C ARC在項目中的所有文件希望糾正這一點,但沒有骰子。所以現在這個項目陷入了ARC僵局。看起來好像取消選擇文件時,重做不知何故告訴Xcode爲這些文件添加了一個特殊的「無ARC」的情況。任何想法如何解決或進一步診斷?
只是一個說明。你可以啓用或禁用單個類中的弧,http://stackoverflow.com/questions/9629820/use-automatic-referencing-count-in-specific-classes-in-ios/9629853#9629853 – janusbalatbat 2012-08-17 08:49:02
是的,就是這樣。我想如果您在轉換過程中取消選擇文件,Refactor會爲您提供幫助。 – 2012-08-17 09:00:06
如果你可以發表你自己的答案,然後接受它,這將是非常好的,所以像我這樣的人會知道問題已經得到解答。 – 2012-08-17 12:10:28