我正在尝试向我公司发布的现有 iOS 框架添加功能。新功能要求我们使用许多其他第三方提供的框架。如果我们的客户不想激活新功能,我们希望确保他们不需要部署这些框架。
当我在我自己的框架的目标/通用/链接框架和库部分引用这些框架时,我已将这些框架中的每一个都配置为可选。我还在我的框架的目标/构建阶段/链接二进制与库部分中将它们标记为可选。我期待这意味着当这些框架不存在时,我的框架可以导入到 xcodebuild 中。
这适用于我构建框架的机器,但是一旦其他人尝试将我的新框架导入他们的 Xcode 对象到带有消息“缺少所需模块‘x’”的导入语句(其中 x 是顶级第三方我的框架导入的框架)。
我尝试删除它们并将“-weak_framework {name}”形式的链接器指令添加到构建中,但我可以从 xcodebuild 日志中看到 Optional 设置只是简单地生成这些,而且更方便。
我的框架使用 Swift 5,以防万一。
我错过了什么?
非常感谢您提供任何线索。