Xcode和可选框架

链接的框架和库下,有一个RequiredOptional选项。

有人可以解释一个情况,以及如何使用可选框架? 我可以看到假设的情况下,我有一些testing数据, 如果框架包括我想要启用某种function,如果它不包括比也许我不会做的事情….

但除此之外,我不知道什么时候要使用可选框架

(如果存在的话,代码示例会很棒)

如果您的目标是较旧的操作系统版本(某些框架可能还不可用),则可选链接非常有用。 在这种情况下,您可以将给定框架的链接设置为可选,并且如果dlopen无法find给定的框架,则会导致程序在启动时不会崩溃。

然后在你的代码中,你可以在这个框架的使用周围放置警戒语句,以避免崩溃使用未parsing符号的b / c:

  if (MyWeakLinkedFunction != NULL) { result = MyWeakLinkedFunction(); // this function comes from a weakly/optionally linked framework } 

请参阅: 框架和弱连接