gpt4 book ai didi

ios - 使用 CocoaPods 和 Swift Package Manager 设置库

转载 作者:行者123 更新时间:2023-11-30 11:00:54 24 4
gpt4 key购买 nike

我在 CocoaPods 上创建了一个 swift (iOS/MacOS) 库 ( BillboardSwiftLibrary )。一般来说,它有包含源文件的 Assets 和类文件夹。

我希望我的库支持 Swift Package Manager,因此我将源文件从 Classes 文件夹移动到 pod 外部的 Sources 文件夹中。但是,仍然可以从“开发” Pane 访问它们。

现在我的库不会为 Cocoapods 启动而构建,但会为 Swift Package Manager 进行编译,当我运行 pod lib lint BillboardSwiftLibrary.podspec

时,我收到以下错误

ERROR | file patterns: The source_files pattern did not match any file.

最佳答案

我在 Medium 上从头开始写了一篇关于“使用 CocoaPods、Carthage、SPM 支持和 Travis 创建 iOS 框架来运行测试和 FaSTLane 来实现发布自动化”的长系列文章。我希望它有帮助。

Creating Swift framework is easy but adding CocoaPods, Carthage and Swift Package Manager support at the same time can sounds like scary in the first place. In addition to that adding Travis to run test for all commits and adding Fastlane to automate release processes for all dependency managers looks like a horror movie. But don’t be afraid. After you finished this series, you can easily create your own Swift frameworks that uses all these tools to make it perfect!

Part 1 — Create CocoaPod and release it. :您将创建自己的CocoaPod并发布它。

Part 2 — Add Carthage support :您在第 1 部分创建和发布的 CocoaPod 将通过 Carthage 安装。

Part 3 — Add Swift Package Manager support :在第 1 部分创建和发布的 CocoaPod 将通过 Swift Package Manager 安装。

Part 4 — Integrate Travis to build example project and run tests for framework :您的框架可以通过 CocoaPods、Carthage 和 Swift Package Manager 安装,针对 GitHub 上的每次推送,自动在 Travis 上运行测试。

Part 5 — Integrate Fastlane to automate release processes by running just one line of command. :

每次您想要通过 CocoaPods、Carthage 和 Swift Package Manager 发布新版本的框架时,您都必须执行以下步骤:

1-实现新版本的更改

2-运行测试以确保它们正常工作

3-提交并推送新版本的更改。

4- 将新版本标记到 git

   git tag 0.1.1
git push origin 0.1.1

Carthage 和 Swift 包管理器从 GitHub 安装您的框架。如果您正确配置了框架,则可以在此步骤后通过 Carthage 或 Swift Package Manager 安装它。然而,CocoaPods 还有 4 个步骤来完成发布流程。

5- 增加 podspec 版本 => 即 s.version = '0.1.1'

6-验证本地 podspec:

pod lib lint ODCustomFramework.podspec

7-验证 pod 的发布

pod spec lint ODCustomFramework.podspec

8-发布

pod trunk push ODCustomFramework.podspec

Travis 和 FaSTLane 集成后,步骤 2、4、5、6、7 和 8 会自动执行,不再需要在每次发布新版本时重复这些步骤。

1-实现新版本的更改

2- 提交并推送新版本的更改。

3-Travis 在每次推送后自动运行测试。

4- 运行以下 faSTLane 命令以自动执行所有发布过程。 (步骤 4、5、6、7、8)

exec fastlane major | minor | patch

关于ios - 使用 CocoaPods 和 Swift Package Manager 设置库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53375958/

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