【发布时间】:2011-10-08 09:24:05
【问题描述】:
现在我的应用正在使用资产库框架,该框架仅适用于 iOS 4.0 及更高版本,用于多选照片,但我希望我的应用在运行 iOS 3.2 的设备上运行。
我可以动态链接资产库吗?如果是这样我可以判断iOS SDK版本是否早于4.0,如果早我会使用UIImagePickerController而不是Assets库,如果晚我可以动态加载Assets库并使用它实现多选。
【问题讨论】:
标签: iphone ios cocoa-touch
现在我的应用正在使用资产库框架,该框架仅适用于 iOS 4.0 及更高版本,用于多选照片,但我希望我的应用在运行 iOS 3.2 的设备上运行。
我可以动态链接资产库吗?如果是这样我可以判断iOS SDK版本是否早于4.0,如果早我会使用UIImagePickerController而不是Assets库,如果晚我可以动态加载Assets库并使用它实现多选。
【问题讨论】:
标签: iphone ios cocoa-touch
您可以将框架设置为弱链接。当您在 Xcode 4 中选择一个框架时,您可以在右窗格中在可选/必需之间切换目标成员资格。
您应该阅读文档中的Adding Runtime Checks for Newer Symbols。
基本上你可以检查一个类的运行时可用性:
if ([INeedThisClass class]) ... // SDK 4.2 and later
或
Classe ineedthis = NSClassFromString(@"INeedThisClass"); // SDK 4.1
if (ineedthis) ...
【讨论】: