Cocoapods [!] 安装 Crashlytics 出错

12

我们的CI系统在使用Cocoapod中的Crashlytics时出现了问题。基本上,我们有一个Rakefile文件,运行一些任务来进行pod更新、构建应用程序和运行测试等操作。然而,最近我们切换到了Fabric和Crashlytics作为Cocoapods。现在,在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. 当在脚本文件中运行该命令时(我们不想使用sudo运行脚本),Crashlytics pod尝试下载并写入系统文件,但它没有写入权限。 2. 该端点实际上有点不稳定。
如果我在终端手动运行curl命令,大多数情况下它会成功下载文件。然而,有时候这个curl命令确实无法解析主机。同时,我有两台虚拟机可以成功运行该curl命令,而不需要sudo usr/bin/curl/...,但其中一台虚拟机(完全克隆另一台)确实需要sudo usr/bin/curl...才能获取对该文件夹的写入访问权限。
如果我只运行Rakefile中的curl命令,我会得到以下结果: $ rake 您没有创建/var/folders/fx的权限。
所以,我认为问题在于从Rakefile尝试进行pod更新会导致文件写入权限问题,因为Crashlytics尝试将文件下载到系统/var/folder,而这是不被允许的。此外,该端点可能也不稳定,并且由于无法解析主机而失败。
因此,基本解决方法是在CI机器上手动运行该curl命令,以便下载和安装。现在,只要我们保持在相同的Crashlytics版本上,任何未来的pod更新都可以正常工作。因此,我们现在将Crashlytics安装冻结在3.3.4版本。
如果有人遇到类似问题,或者对他们认为正在发生的事情有任何建议,或者有更好的修复建议,请告诉我。

1
事实证明,curl命令经常会发生变化,可能每次pod更新都会有所不同。我们找到的唯一解决方法是为所有用户添加对/var/folders/fx的读写访问权限,这远非理想。sudo chmod -R a+rw /var/folders/fx/ - n8tr
作为更新,我们最终放弃使用 Fabric 和 Crashlytics cocoapods,并手动导入框架,因为我们继续遇到类似于原始帖子的随机 CC 更新失败。 - n8tr
你是如何解决这个问题的?我在CocoaPods网站上看到他们在2016年9月更新了Crashlytics CocoaPods。 - nivritgupta
请问您能告诉我如何手动导入框架吗? - nivritgupta
您IP地址为143.198.54.68,由于运营成本限制,当前对于免费用户的使用频率限制为每个IP每72小时10次对话,如需解除限制,请点击左下角设置图标按钮(手机用户先点击左上角菜单按钮)。 - n8tr
3个回答

6

5

我的解决方案是删除代码库中的Pods目录(rm -rf Pods)。这样所有的pod都被移除了,包括Crashlytics。之后,pod install就能够成功运行了。现在我已经安装了Crashlytics 3.8.6。


4

您正在使用VPN吗?

我发现fabric.io被NordVPN屏蔽了,必须断开VPN才能进行pod install。

事实上,是NordVPN的"阻止广告和恶意软件"开关导致了这个问题。如果您暂时关闭该开关,问题将得到解决。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接