我正在创建一个 iOS 静态库并尝试集成新的 iOS5 Twitter 框架。所以我实现了新的 Twitter 框架并制作了库,静态库将在 Xcode 4.2 (iOS5) 上运行,没有任何问题。 我的问题是,该库无法与旧版 iOS SDK 一起使用,因为 Twitter 框架不存在。当我尝试在 XCode 4.02 中使用该库时,出现以下错误:
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_TWTweetComposeViewController", referenced from: objc-class-ref in libTest.a(TestViewController.o) ld: symbol(s) not found for architecture i386 collect2: ld returned 1 exit status
这里 libTest.a 是我正在尝试制作的静态库。
所以基本上我想要实现的是,使用 Xcode 4.2 (iOS 5 SDK) 编译静态库并在 Xcode < 4.2 (即 iOS SDK < 5) 中使用它,而不会导致错误。即,静态库应在 iOS-5 SDK 中显示新的 Twitter APi,并在旧版 iOS SDK 中显示我自己的 OAuth Twitter View 。
最佳答案
查看“弱链接”的概念。这应该可以解决您的问题。
关于iphone - iOS静态库的向后兼容性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7512662/