Ios cocoapods[!]安装Crashlytics时出错

Ios cocoapods[!]安装Crashlytics时出错,ios,continuous-integration,cocoapods,crashlytics,twitter-fabric,Ios,Continuous Integration,Cocoapods,Crashlytics,Twitter Fabric,作为cocoapod的Crashlytics正在打破我们的CI系统。基本上,我们有一个Rakefile,它运行一些任务来进行pod更新、构建我们的应用程序和运行测试等。然而,我们最近将Fabric&Crashlytics转换为CoCoCoaPods。现在,我们的自动化构建在pod更新阶段失败,出现以下错误: [!] Error installing Crashlytics [!] /usr/bin/curl -f -L -o /var/folders/fx/hfsy48h13839_jm5wmk

作为cocoapod的Crashlytics正在打破我们的CI系统。基本上,我们有一个Rakefile,它运行一些任务来进行pod更新、构建我们的应用程序和运行测试等。然而,我们最近将Fabric&Crashlytics转换为CoCoCoaPods。现在,我们的自动化构建在pod更新阶段失败,出现以下错误:

[!] Error installing Crashlytics
[!] /usr/bin/curl -f -L -o /var/folders/fx/hfsy48h13839_jm5wmkp5mx00000gn/T/d20151009-74266-1p34ehf/file.zip https://kit-downloads.fabric.io/ios/com.twitter.crashlytics.ios/3.3.4/com.twitter.crashlytics.ios-default.zip --create-dirs

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

                                 Dload  Upload   Total   Spent    Left  Speed


  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (6) Could not resolve host: kit-downloads.fabric.io
Update all pods
Analyzing dependencies 
由于Crashlytics安装失败,因此未生成工作区。 我认为出现了两个问题: 1.Crashlytics pod正在尝试下载并写入一个系统文件,但在脚本文件中运行该命令时,它没有写入该文件的权限(我们不希望以sudos的形式运行该脚本) 2.这个端点实际上有点不稳定

如果我在终端中手动运行curl命令,它大部分时间都会成功并下载文件。但是,有时curl命令实际上无法解析主机。不过,我还有两个虚拟机,它们可以在不执行sudousr/bin/curl/的情况下成功运行curl命令。。。但是我们的一个虚拟机(与另一个虚拟机完全相同)确实需要sudousr/bin/curl。。。获取对该文件夹的写访问权限

如果我在Rakefile中运行curl命令,我会得到以下结果: $rake 您没有创建/var/folders/fx的权限

同样,我认为问题在于,尝试从Rakefile进行pod更新会导致文件写入权限问题,因为Crashlytics尝试将文件下载到system/var/文件夹,这是不允许的。此外,该端点也可能是脆弱的,并且由于无法解析主机而失败

所以基本上解决方法是在我们的CI机器上的终端中手动运行curl命令,以便它下载和安装。现在,只要我们继续使用同一版本的CRASHLYTICS,任何未来的pod更新都会起作用。所以现在,我们冻结了3.3.4上的Crashlytics安装


有人遇到过类似的问题,对他们认为正在发生的事情有什么建议,或者对如何解决这个问题有更好的建议吗

我的解决方案是删除存储库中的
Pods
目录(
rm-rf Pods
)。这样,所有的豆荚都被移除了,甚至是碰撞。之后,
pod安装可以成功运行。我现在已经安装了Crashlytics 3.8.6。

您正在使用VPN吗

我发现fabric.io被NordVPN阻止,必须断开连接才能进行pod安装


事实上,正是NordVPN的“阻止广告和恶意软件”切换不允许这样做。如果您暂时关闭该选项,它将正常工作。

结果表明,curl命令经常更改,可能与每次pod更新一样频繁。我们能找到的唯一解决办法是为所有用户添加对/var/folders/fx的读/写访问权限,这远远不够理想。sudo chmod-R a+rw/var/folders/fx/作为更新,我们最终放弃了使用Fabric和Crashlytics CoCoCoaPods,只是手动导入了框架,因为我们继续遇到与原始帖子类似的随机CC更新失败。您是如何解决问题的,我在cocoapod网站上看到,他们在2016年9月更新了Crashlytics CoCoCoapod。请告诉我您是如何导入framework manuallySure的。在使用Fabric和Crashlytics的项目中成功更新pod后(您始终可以制作一次性项目),您可以在项目的Pods文件夹中找到框架文件。把它们抄下来。然后手动将这些框架导入到其他项目中。顺便说一句,在我们放弃在CI系统中使用虚拟机后,一切都开始正常工作。非常感谢!你救了我一天/