我在CocoaPods(BillboardSwiftLibrary)上创建了一个快速(iOS / MacOS)库。通常,它具有其资产和包含源文件的Classs文件夹。
我希望我的库支持Swift Package Manager,因此我将源文件从Classes文件夹移到了pod外部的Sources文件夹中。但是,仍然可以从“开发”窗格中访问它们。
现在我的库无法为Cocoapods启动而构建,但可以为Swift Package Manager编译,运行pod lib lint BillboardSwiftLibrary.podspec
时出现以下错误
错误|文件模式:source_files模式不匹配 文件。
答案 0 :(得分:2)
我从头开始写了很长的系列文章,内容涉及在Medium上“使用CocoaPods,Carthage,SPM支持和Travis创建iOS框架以运行测试,为发布自动化创建Fastlane”。希望对您有所帮助。
创建Swift框架很容易,但是同时添加CocoaPods,Carthage和Swift Package Manager支持听起来很吓人。除了添加Travis来对所有提交进行测试外,还添加Fastlane来为所有依赖项管理器自动化发布过程,这看起来就像是一部恐怖电影。但是不要害怕。完成本系列文章后,您可以轻松创建自己的Swift框架,并使用所有这些工具使其完美!
Part 1 — Create CocoaPod and release it.:您将创建自己的CocoaPod并将其释放。
Part 2 — Add Carthage support:在第1部分创建并发布的CocoaPod将通过迦太基安装。
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安装的框架会在Travis上针对GitHub上的每次推送自动运行测试。
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 and Swift Package Manager从GitHub安装您的框架。如果您正确配置了框架,则可以在此步骤之后通过Carthage或Swift Package Manager进行安装。但是,CocoaPods还有4个步骤来完成释放过程。
5-增量podspec版本=>,即s.version ='0.1.1'
6-验证本地podspec:
pod lib lint ODCustomFramework.podspec
7-验证发布的吊舱
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
答案 1 :(得分:0)
从@Larme的评论中,我找到了答案。
在podspec文件中,将类的位置更改为source文件夹。
因此,将s.source_files从更改为BillboardSwiftLibrary/Classes/**/*
到Sources/**/*
,并且pod lib lint BillboardSwiftLibrary.podspec
正常工作。