我看到在哪里我的应用程序已经通过一个特设的部署安装了iOS 4.3.5
手机这个错误(通过HTTP下载):找不到符号从静态库错误在iOS 4.3.5
dyld的错误信息:
Symbol not found: _OBJC_CLASS_$_NSJSONSerialization
Expected in: /System/Library/Frameworks/Foundation.framework/Foundation
我在应用程序代码不调用iOS 5
库,除非一类已被证明存在(即if(NSClassFromString(@"NSJSONSerialization")!=nil
),因此问题不在于呼叫被以iOS 5
库做出了iOS 4的设备上。
该应用程序本身包含一个静态库这是我自己的代码,并在NSJSONSerialization
引用存在。
如果直接从xcode中运行该应用程序的作品完美的iOS 4.3
设备上(即,经由USB电缆连接到显影机的iPhone)。但是,当通过adhoc部署在同一台设备上运行时,我看到了崩溃。
adhoc归档文件是通过Product->Archive
在xcode 4
中构建的,然后使用“分发”按钮创建Ad-Hoc部署.ipa文件。
的应用程序崩溃,几乎瞬间,让我觉得,也许没有我的代码被称为可言的,它是我的档案建立的设置,可能是不正确的吗?
非常感谢您提前帮助您!
http://stackoverflow.com/questions/8342411/getting-dyld-symbol-not-found-objc-class-nsjsonserialization-on-ios4 – rishi 2012-04-23 13:37:24
主项目和静态项目的部署目标是4.3。此外,iOS 5设备库不会被调用/使用。 – 2012-04-23 13:47:57
@RIP - 这实际上是一个不同的,比这里描述的更微妙的问题。正如我在我的回答中所描述的那样,正常的基于类的弱连接在静态库和构建档案或分发中失败。 – 2012-04-23 16:40:04