gpt4 book ai didi

ios - 我可以做一个iOS一体化框架吗?或者将私有(private)静态库包含到我的框架中?

转载 作者:行者123 更新时间:2023-11-30 13:13:47 28 4
gpt4 key购买 nike

我是 XCode 新手,正在使用 Swift2 制作 iOS 框架,包括第 3 方库 (*.a) 和框架。

我想将其作为 API 提供给其他人,但我也想从我的框架分发文件中隐藏第 3 方库和框架文件,因为它们是私有(private)的。

因此我只想打开我定义的API接口(interface)和类。

这可能吗?如何配置我的构建选项?

最佳答案

您可以这样做,但需要考虑一些事情:

  1. 您无法将一个框架嵌入到另一个框架中。这意味着,如果您没有特定框架的源代码,则必须将其与您自己的框架一起提供。如果您有源代码,您可以考虑将它们直接编译到您的框架中。

  2. 根据您在框架中使用的源,您可能需要对框架进行一些后处理以 obfuscate private headers例如,如果您将 Objective-C 或 C 代码与 Swift 一起使用,您肯定需要对 *.framework 文件进行一些后期处理,以隐藏您想要保密的任何 API。

  3. 如果您在框架中使用 Swift 代码,请注意,由于缺少 ABI,您的框架只能由具有相同 Swift 编译器版本的人使用。 。这意味着由一个编译器版本生成的二进制文件很可能与较新版本的编译器不兼容。

  4. 静态链接库可以链接,因此可以直接“合并”到您的框架二进制文件中。您只需要确保您有一个与您想要的目标架构兼容的二进制文件,例如,您不能使用为模拟器构建的静态链接库并将其链接到您想要为实际 iOS 设备构建的框架.

  5. 如果您在框架中使用 Swift,则框架的用户需要在其应用程序包中包含 Swift dylib 库 - 通过在应用程序中使用 Swift 或启用 嵌入内容包含 Swift 代码build设置。

关于ios - 我可以做一个iOS一体化框架吗?或者将私有(private)静态库包含到我的框架中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38451521/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com