T S*_*nds 6 artifactory ios cocoapods
我正在尝试将一个胖二进制 .framework 部署到 Artifactory Cocoapods 存储库中,但是在部署 .tar.gz 文件期间,我收到了 Artifactory 日志中显示的 podspec 解析错误。
重现步骤:
使用“设置我”中描述的 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 repo 没有自动将 FRAMEWORK.podspec 放在 .specs 文件夹中,如视频教程中所示。在 Artifactory 的系统日志中,包含错误的行:
2019-01-14 20:16:29,717 [http-nio-8081-exec-79] [INFO] (oaeUploadServiceImpl:376) - 部署到 'cocoapods-local: FRAMEWORK/FRAMEWORK.tar.gz' 内容长度:246142112
2019-01-14 20:16:30,278 [http-nio-8081-exec-79] 错误 - 从 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
Run Code Online (Sandbox Code Playgroud)
小智 4
几天来都遇到同样的问题!
最后发现我在 MacOS 机器上生成的 .tar.gz 使用的是 bsd tar(默认情况下附带)。从 Linux 机器运行相同的命令有效!
有效的一个是 gnu tar。使用“brew install gnu-tar”安装它
使用 gnu tar 的链接:https://medium.com/@fullsour/installing-gnu-tar-on-mac-827a494b1c1
那么 pod 应该被推送到 Jfrog 神器!:D
| 归档时间: |
|
| 查看次数: |
677 次 |
| 最近记录: |