如何在Objective C中使用*.so库?

How to use *.so library in Objective C?

我想加载一个为 unix(xxx.so) 编译的库,我想在 iOS 应用程序中使用它。 iOS 应用程序将在企业中使用 - 使用 Apple Enterprise 帐户(我的意思是该应用程序不会提交到 App Store)。

是否可以在ios中使用这种类型的库?

谢谢。

.so 文件是一个共享库。在 iOS8 之前,iOS 不支持动态库。 Post iOS8 虽然它们是受支持的,但只要库是兼容的。事实上,大多数 iOS 框架(例如 UIKit)都是动态库。

这里最重要的是 "compiled for unix" 部分。您必须为 iOS 编译 Xcode 中的库。大多数 "unix" 共享库适用于 x86 或其他处理器,无法在 iOS 设备上的 arm 处理器上运行。

要在 iOS 上创建共享库:

创建

  1. 类型为 "Cocoa Touch Framework" 的新项目。
  2. 包括您要构建的库中的所有源代码。
  3. 将任何导出的 header 添加到框架伞 header
  4. 构建框架
  5. 将框架包含在您的其他应用程序中,通常是将其添加到 Target->General->Linked Frameworks and Libraries
  6. 导入框架的 header 并在应用程序中使用它们