分发依赖于静态框架的动态框架的正确方法是什么?

Ada*_*hns 5 xcode ios cocoapods

我正在构建一个闭源动态框架。它依赖于第三方闭源静态框架。

我将静态依赖框架链接到我的框架的项目/目标,如本 Apple 技术说明中所述:

在此输入图像描述

同一篇苹果技术说明中提到:

应用程序目标负责嵌入所有框架,包括其他框架依赖的任何框架。

所以我也给我的客户提供了我所依赖的框架的副本。然而,在同一份技术说明中,Apple(指嵌入静态库/框架)指出:

由于这些情况下的二进制文件是静态库,因此应用程序无法将其嵌入到应用程序包中。

...该库应保留在“将二进制文件与库链接”部分中。

没关系 - 所以我只是让我的客户链接静态框架依赖项而不是嵌入它,一切都工作正常。

-ObjC然而,当我的客户需要他们使用的其他库的链接器标志时,就会出现问题。此链接器标志导致我的(objective-c)静态框架依赖项加载其所有类两次,并且客户端在其控制台中随处可见重复的类日志。

这里一种可能的解决方案是让客户端识别他们使用的需要-ObjC链接器标志的库,并force_load为这些库指定标志。但在客户端使用 CocoaPods 的情况下,此解决方案也会导致问题,因为 CocoaPods 会-ObjC再次覆盖每个链接器标志的任何更改pod install对于这个问题还有其他解决方案/想法吗?

PS我知道之前的苹果技术说明也提到:

静态框架不是共享静态库的受支持方式。

但不幸的是,我目前受到业务限制的束缚,我必须包含这个静态框架依赖项。