- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 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/
I have created a hybrid activation and then setup an ssm agent on my on-premise windows system.我创
我对 python/django 编程很陌生,因为我没有编程背景。我正在在线上课,我只想确切地知道 manage.py 文件的作用。我试过用谷歌搜索它,但除了在 django-admin.py 周围放
我的 DependancyInject 存在结构问题。 情况 我正在为基于体素的游戏创建服务器;它是完全调制的,但相关模块有以下3个。 NetworkModule(发送和接收数据包)WorldModu
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 5年前关闭。 Improve thi
上 Docker正在编写的网站: The MANAGER STATUS column shows node participation in the Raft consensus: No value
我正在尝试使用发布管理作为构建版本的工具,但我很难理解码件、工具和操作之间的真正区别。有人可以分解这三个概念之间的差异以及它们如何相互配合吗? 最佳答案 由于它适用于基于代理的版本: 工具旨在提供自定
当尝试在远程环境中在 pycharm 中执行“run manage.py Task...”时,出现以下错误: ssh://vagrant@127.0.0.1:2222/home/vagrant/.vi
在过去的 48 小时里,我一直在努力解决这个问题,这让我发疯了。 我的 SDK Manager.exe 闪烁一个 cmd 屏幕并在不到一秒内关闭。 经过多方搜索,我终于在调整android.bat并以
我在 this tutorial 之后创建了以下自定义管理命令. from django.core.management.base import BaseCommand, CommandError f
我在一家拥有 2,500 多名员工和同样多的 Android 智能手机的非营利组织工作。 近年来,我们测试了许多 EMM 产品。尽管我们只需要一些非常基本的功能,除了一两个特殊功能,但没有一个能真正赢
我已经在我的网站上安装了 Google 标签管理器,但自从新版本的 Google 标签管理器以来,我无法使用预览选项。每次我点击它时,我都会看到我的网站页面打开,但随后出现以下错误:“Tag Assi
我是 django 的新手,并创建了一个与教程中描述的民意调查网站没有太大区别的应用程序。 在网站上我得到: Exception Type: TemplateSyntaxError Exception
https://cloud.google.com/deployment-manager/docs/configuration/templates/create-basic-template 我可以像这
我们正在使用 Microsoft 的发布管理将我们的 Web 应用程序部署到我们的测试环境 (QA)。它是一个直接的 MVC.Net Web 应用程序。我们的构建生成一个 web 部署包,我们有一个命
我想将 python manage.py 缩短为 ./manage.py。 这可能很简单,但我找不到答案。我在有关 django 的问题的答案之一中看到了一步一步的方法,但我没有记住。尝试在 stac
我想将 python manage.py 缩短为 ./manage.py。 这可能很简单,但我找不到答案。我在有关 django 的问题的答案之一中看到了一步一步的方法,但我没有记住。尝试在 stac
我正在使用安装了 SQL Server Data Tools 的 VS 2012。我有一个 ADO NET 源,它使用 .Net Providers\MySQL 数据提供程序,并试图将一些数据推送到
根据我从文档中阅读的内容 https://developer.android.com/topic/libraries/architecture/workmanager , 它说: The task i
这两个类显然是相关的。 SupportFragmentManager 是否用于使用 FragmentTransaction 生成的 Fragments,而“常规”FragmentManager 专门用
我有一个桌子经理(经理ID、姓名、地址、城市、电话)。如果多个经理来自同一城市,我必须显示城市、姓名和电话详细信息。我的代码是:。但这向我展示了第一行中的一个错误,即“不是按表达式分组”。请救救我!
我是一名优秀的程序员,十分优秀!