在我的应用中,大多数框架都是弱链接的。当我阅读文档时,我认为也许我不需要弱链接这些框架。
app设置
我的应用程序的部署目标是iOS4.3,基础SDK是iOS7.1。
我的想法
在我的应用程序我使用CIImage
和UICollectionView
。CIImage
在iOS5.0之后可用的CoreImage
框架中,所以我应该弱链接CoreImage
框架。UICollectionView
在iOS6.0的UIKit框架中可用,但UIKit在iOS4.3中可用,所以我不需要弱链接UIKit
框架。
如果您正在使用CoreImage
并且没有编写任何防御代码来解释可能不存在的框架,则应该始终硬链接框架。然而,由于CoreImage
只在ios5和更高版本中可用,如果你想让你的应用在ios4.3上运行,你必须弱链接这个框架。但是,你确实需要编写防御性的检查代码,以确保类在运行时存在,或者当应用程序在iOS 4.3上运行时不调用CoreImage
方法。
说了这么多,你真的不需要支持iOS 4.x。iOD市场升级非常快。因此,投入精力去支持4.x可能是不值得的。