如何检测,在运行时,该框架已经加载?(How do I detect, at runtime, th

2019-10-19 16:48发布

我建立一个静态库分发给其他人在iOS应用程序,使用其中我想,只有当他们已经包含在我的媒体库的用户应用 ,从而充分的框架的优势。 我已经想通了如何编译库,这样它本身不包含任何框架,但只要我尝试在一个应用程序中使用它,它失败了,因为库引用框架不存在的。

我不想强迫我的客户机装入他们不需要框架。 弱链接框架是很酷,但只是意味着该框架并没有必须存在的系统(例如,用于旧版iOS)上; 它支持仍然编译成二进制文件。 更好的方式是不要求框架在所有链接,并只使用它,如果它被链接(可选与否)。

那么,有没有什么办法来检测框架包括在运行iOS应用程序,而不是它是否存在于系统中?

Answer 1:

您可以使用

if (NSClassFromString(@"FrameworkClass") == nil) {
   // the framework is not available
} else {
   // the framework is avaiable
}


文章来源: How do I detect, at runtime, that a framework has been loaded?