首页 > 解决方案 > 我们是否需要为 CocoaPods 和 Carthage 创建 iOS 通用框架?

问题描述

  1. Universal Frameworks/Libraries我的理解是否正确,只有当我们通过提供二进制文件分发我们的库时我们才需要手动创建(比如说直接下载.framework)?因此,如果我们使用 CocoaPods 或 Carthage 进行分发,这些工具将Universal Frameworks/Libraries自己从我们的源代码中创建,对吗?

  2. 据我了解,CocoaPods 和 Carthage 允许通过仅分发二进制文件来隐藏源代码。这是否意味着在这种情况下我们需要Universal Frameworks/Libraries在使用这些服务之前自己创建?

  3. Universal Frameworks/Libraries2020年 最好的创作方式是XCFramework什么?

谢谢。

标签: ioscocoapodscarthagexcframeworkios-universal-framework

解决方案


  1. 如果您使用 CocoaPods 或 Carthage 分发源代码,这些系统将使您的源代码.framework在消费者的项目构建时编译到消费者端的静态库中或编译到静态库中。消费者将可以访问您的源代码。

  2. 是的。

  3. 如果您的框架旨在用于 Mac Catalyst 应用程序 - 那么 XCFramework 是唯一的选择。否则,您仍然可以运送胖框架 - 旧的,但黄金。

更新:

借助 AppleSilicon,XCFramework 成为您交付预构建框架的唯一格式,因为即使是 iOS 模拟器现在也应该同时支持x86_64arm64架构。


推荐阅读