找不到符号:_OBJC_CLASS _ $ _ NSURL

时间:2011-08-03 09:36:45

标签: iphone objective-c ios ipad

我正在测试设备上的iPad应用程序,它给我以下错误:

  

未找到符号:_OBJC_CLASS _ $ _ NSURL

应用程序在模拟器上运行正常,但在设备上无效。

2 个答案:

答案 0 :(得分:1)

通常这意味着你没有为你的课程添加一个框架,虽然为什么它可以在模拟器中工作但是iPhone不是很奇怪,请确保你已经将FoundationKit添加到你的项目中。

答案 1 :(得分:0)

您的代码使用的是设备上可用库中不存在的符号,但在模拟器上可用。

如果您检查项目,您会发现“部署目标”(例如,3.1.3)设置为与“基本SDK”(例如,4.0)不同。这意味着在代码中,您可以使用基本SDK可用的所有符号(并且模拟器将提供该环境,或者您在Xcode弹出菜单中的可用SDK中选择的那个),但是当您开启时您可以使用“部署目标”的设备,该设备较旧且缺少该符号。

要么使用较新的基础SDK(如果您可以接受),要么使用条件编译来避免使用旧设备上不可用的符号。

另请参阅此S.O. article