我想创建一个具有这些约束的框架:
- 代码对集成商关闭
- 框架本身是模块化的。模块示例:
FeatureA FeatureB 3rd party dependency (ex. a Swift Package or Cocoapod)
^ ^ ^
| | |
|_____________|_____________|
|
Core // client would integrate this
^
|
UI // or this
在这个例子中,我希望能够独立构建核心或UI。
- 框架包含第三方依赖,应该对集成商隐藏
- 框架包含多种语言(Swift, Obj-c, obj -c++和c++)
- 框架包含资产和本地化
- 包含的架构:iOS设备,模拟器(包括英特尔和M1 arch版本)
- 最小SDK: 13.2
我尝试了很多方法,但总是遇到障碍。例如,XCFramework
似乎无法成功地包含第三方。SPM
似乎不支持将导出为二进制。Aggregated framework
:不确定如何将cocoapod作为依赖目标。
我读过的许多帖子都很老了,提到的概念我不确定是否还存在,比如Fake Framework
或Umbrella Framework
。
所以我的问题是:在今天的环境中,对于这些限制,最好的方法是什么?如果XCFramework真的是最好的方法,我们如何包含第三方依赖?
有一个很好的解决方案。XCFramework with Pods Dependencies
有一个问题,第三方依赖。对于第三方依赖项,您必须手动添加第三方依赖项而不是pod。还记得删除它们的public
头或只是删除public
关键字,使它们不可访问。