ios - 将所有框架链接为可选

标签 ios objective-c frameworks dynamic-linking

我读了this documentation article关于库和框架链接,以下部分引起了我的注意:

... an Optional framework will be loaded only if needed. The initial load of the application will be faster if a large library that is never needed is designated as Optional.

所以我问为什么不将所有框架设置为Optional,如果它们会在必要时加载?缺点是什么?

最佳答案

使用可选库需要额外的代码,因为它使用了 weak linking :

if (MyWeakLinkedFunction != NULL)
{
    result = MyWeakLinkedFunction();
}

这使得使用图书馆变得有些痛苦;我宁愿知道这些符号在程序加载时可用,如果它们不可用,O/S 可以告诉用户。

关于ios - 将所有框架链接为可选,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36421099/

相关文章:

objective-c - 什么会导致 CGDisplayCreateImageForRect 捕获或忽略光标?

ios - 如何使用 phonegap 防止键盘在 iOS 应用程序上推 webview

ios - UiTableViewCell 中的 View 在选择时变为透明

ios - 安全销毁和重新创建单例

ios - 如何在 if 语句中成功调用 BOOL 方法?

macos - 如何向 CMake 添加框架

iphone - SystemConfiguration.framework 显示为红色

ios - 在应用程序中检测 Googles chromecast 服务的使用情况

ios - 在 FirebaseUI 中跳过提供程序屏幕

ios - 从 calloutAccessoryControlTapped 设置 ViewController Title