Swift Cocoapods-podspec验证但可以';我们不能被迫回购
我正在通过CocoaPods建立一个Swift框架 目标是:Swift Cocoapods-podspec验证但可以';我们不能被迫回购,swift,cocoapods,Swift,Cocoapods,我正在通过CocoaPods建立一个Swift框架 目标是: 对podspec使用私有回购协议 将框架作为二进制文件分发(与源代码相反) 我已经阅读了,加上其他参考资料(似乎不能包含超过2个与当前SO声誉相关的链接,但我可以在评论中指出来源) 我使用的Podspec是: Pod::Spec.new do |s| s.name = 'SDK' s.version = '0.0.1' s.summary = 'My SDK' s.des
- 对podspec使用私有回购协议
- 将框架作为二进制文件分发(与源代码相反)
Pod::Spec.new do |s|
s.name = 'SDK'
s.version = '0.0.1'
s.summary = 'My SDK'
s.description = 'SDKs description'
s.homepage = 'https://github.com/XXX/sdk'
s.license = { :type => 'MIT', :file => 'LICENSE' }
s.author = { 'XXX' => 'xxx@xxx.com' }
s.source = { :git => 'https://github.com/XXX/sdk.git', :tag => s.version.to_s }
s.ios.deployment_target = '8.0'
s.platform = :ios, '9.0'
s.source_files = 'SDK/Classes/**/*'
s.preserve_paths = 'Frameworks/SDK.framework'
s.ios.vendored_frameworks = 'Frameworks/SDK.framework'
end
除了标准版本(arm64、armv7)之外,Pods xcode项目也被修改为构建i386 arch
如果我将SDK.framework文件复制到.podspec文件夹中的/Frameworks文件夹中,则此规范将通过成功地进行本地验证:
pod lib lint
问题:当我尝试将规范推送到回购协议时,验证失败,如下输出所示:
pod repo push mySDKPrivateRepo SDK.podspec
Validating spec
-> SDK (0.0.1)
- ERROR | [iOS] file patterns: The `source_files` pattern did not match any file.
- ERROR | file patterns: The `preserve_paths` pattern did not match any file.
- ERROR | [iOS] file patterns: The `vendored_frameworks` pattern did not match any file.
[!] The `SDK.podspec` specification does not validate.
问题:
pod repo push mySDKPrivateRepo SDK.podspec
Validating spec
-> SDK (0.0.1)
- ERROR | [iOS] file patterns: The `source_files` pattern did not match any file.
- ERROR | file patterns: The `preserve_paths` pattern did not match any file.
- ERROR | [iOS] file patterns: The `vendored_frameworks` pattern did not match any file.
[!] The `SDK.podspec` specification does not validate.
我遇到了类似的问题,罪魁祸首是项目结构本身 确保检查源文件指向的目录。我发现以这种方式维护任何类型的结构都是非常困难的,而且将所有文件包含在一个文件夹中更容易
s.source_files = '<InsertName>/**/Classes/*'
s.source\u文件='/**/Classes/*'
看一下cocoapods的建议,获得一些帮助
通过一个消除过程,我建议首先尝试推到repo,对podspec中的源文件进行注释,然后从那里开始工作 @Galazy-你找到答案了吗?我最后评论了这句话,并在结尾处添加了--allow警告