我正在尝试将一个fat二进制的.framework部署到Artifactory Cocoapods存储库中,但在部署.tar.gz文件期间,我收到了有关podspec解析错误的Artifactory日志中的错误消息。
重现步骤:
- 将包含FRAMEWORK.framework和FRAMEWORK.podspec的文件夹压缩成FRAMEWORK.tar.gz文件(如书面文档所述,并在视频教程中展示)。
使用“设置”中描述的curl脚本将FRAMEWORK.tar.gz pod部署到Artifactory实例:
curl -u<USER>:<PASSWORD> -XPUT https://<COMPANY>.jfrog.io/<COMPANY>/cocoapods-local/<FRAMEWORK>/<VERSION>/ -T <FRAMEWORK>.tar.gz
.
cocoapods-local存储库并未自动将FRAMEWORK.podspec放入.specs文件夹中,如视频教程所示。系统日志中包含以下错误行:
2019-01-14 20:16:29,717 [http-nio-8081-exec-79] [INFO ] (o.a.e.UploadServiceImpl:376) - 部署到 'cocoapods-local: FRAMEWORK/FRAMEWORK.tar.gz' Content-Length: 27614214
2019-01-14 20:16:30,278 [http-nio-8081-exec-79] ERROR - 从pod提取元数据时出错:无法解析规范。
但是,当我在终端中使用pod spec lint
时,FRAMEWORK.podspec已通过验证。FRAMEWORK.podspec如下:
Pod::Spec.new do |s|
s.name = "<FRAMEWORK>"
s.version = "<VERSION>"
s.ios.deployment_target = '9.0'
s.summary = "<Framework>"
s.description = <<-DESC
<FRAMEWORK>
DESC
s.homepage = "http://www.<COMPANY>.com"
s.license = { :type => 'proprietary', :text => <<-LICENSE
This software is only permitted to be used
by employees of <COMPANY> or
of its partners.
LICENSE
}
s.author = { "company" => "techadmin@company.com" }
s.source = { :http => "https://<COMPANY>.jfrog.io/<COMPANY>/cocoapods-local/<FRAMEWORK>/<VERSION>/<FRAMEWORK>.tar.gz", :type => 'tgz'}
s.preserve_paths = "<FRAMEWORK>.framework*"
s.vendored_frameworks = "<FRAMEWORK>.framework"
end