LLVM编译器在ARC打开时找不到符号__bridge

时间:2012-04-11 16:01:14

标签: ios xcode4.2

  

可能重复:
  Undeclared identifier __bridge on xcode

我不熟悉iOS 5.0中的自动引用计数,并将旧项目从手动内存管理转换为ARC。一切正常(除了Apples Reachability类,我使用-fno-objc-arc编译器标志为选定的第三方库关闭了ARC)。我在这里下载了一个ARC'ified版本的Reachability

https://gist.github.com/1182373

这似乎适用于许多人。

我收到以下编译错误:

use of undeclared identifier '__bridge' [3]
         NSCAssert([(__bridge NSObject*) info isKindOfClass: [Reachability class]], @"info was wrong class in ReachabilityCallback");

之前我的项目中有一个较旧的(非ARC)Reachability版本,之前用-fno-objc-arc标志编译它。我删除了编译器标志,清理和编译,但不断收到上述错误。删除__bridge符号时,我得到了预期的以下错误

error: cast to 'NSObject *' of a non-Objective-C to an Objective-C pointer is disallowed with Automatic Reference Counting [4]
     NSCAssert([(NSObject*) info isKindOfClass: [Reachability class]], @"info was wrong class in ReachabilityCallback");

因此您可以看到ARC确实已打开。我使用XCode 4.2(build 4D5031b)。

我很感激您可能提供的任何见解!提前谢谢。

干杯, 乔治

0 个答案:

没有答案