如何在CI构建服务器上禁用Fabric.app的自动下载+打开? [英] How to disable auto download+open of Fabric.app on CI build server?

查看:115
本文介绍了如何在CI构建服务器上禁用Fabric.app的自动下载+打开?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们无法通过teamcity CI使Fabric + Crashlytics工作。问题在于,我们无法在结构仪表板中获取崩溃报告。到目前为止,我已经尝试了所有可能的解决方案,但仍然无济于事。剩下要做的唯一事情就是确保Xcode已关闭并且在构建机器上未安装Fabric.app。但是,一旦开始创建构建,构建机器会自动下载并打开Fabric.app(我什至在构建过程中尝试多次关闭它,但如果没有打开应用,它仍然会弹出并且构建会卡住)。想知道是什么导致了此自动下载,以及为什么仍需要构建。我们的pods文件如下所示:

We are unable to get our Fabric+Crashlytics working via teamcity CI. The problem is we don't get crash reports in fabric dashboard. So far I'v tried all the possible solutions and still nothing helps. The only remaining thing to try is to make sure Xcode is closed and Fabric.app is not installed on build machine. However, as soon as build is started to be created, build machine auto downloads and opens Fabric.app (I even tried to close it several times during build process but it stills pops and building is stuck if app is not opened). Wondering what is causing this auto download and why build is still requiring it. Here's how our pods file looks like:

pod 'Fabric', '~> 1.2' #also tried with pod 'Fabric/Core', '~> 1.2'
pod 'Fabric/Crashlytics', '~> 1.2'

如果我通过xcode在设备上安装应用,则会在结构仪表板中看到崩溃。但是,当我们创建CI构建,从hockeyapp(或任何其他分发提供商)部署和下载应用程序时,该应用程序不会发送崩溃报告。不会缺少dsym(没有警告,隐藏的dsym上传链接没有抱怨缺少的dsym)。 CI构建日志不包含任何错误。每次我们的teamcity构建后,都会在结构仪表板上创建一个新的应用程序版本(这意味着发布脚本能够发送dsym并告知结构有关新版本的信息)。我对plist文件和发布脚本中的密钥和机密进行了三重检查。这就是我的帖子脚本的样子:

The crashes are seen in fabric dashboard if I install app on device via xcode. BUT when we create a CI build, deploy and download the app from hockeyapp (or any other distribution provider) then app is not sending crash reports. Dsyms are not missing (no warning, hidden dsym upload link is not complaining about missing dsyms). CI build log doesn't contain any errors. A new app version is created on fabric dashboard after each our teamcity build (this means post script is able to send dsym and tell fabric about new version). I triple checked my key and secret inside plist file and post script. This is how my post script looks like:

./Pods/Fabric/Fabric.framework/run <API_key> <Secret>

这是我们在AppDelegate中将织物作为最后一行开始的方式

This is how we start fabric as a last line in AppDelegate

[Fabric with:@[CrashlyticsKit]];

有什么想法吗?我没什么主意,可能会尝试直接通过Xcode(而不是通过应用程序加载器)将应用提交到应用商店,并可能会在下一个版本中寻找其他崩溃报告工具。

Any ideas? I ran out of ideas and will probably try to submit the app to the app store directly via Xcode (not through application loader) and will probably look for other crash reporting tool for next release.

推荐答案

感谢Fabric的@MikeB,我终于可以崩溃了。我不确定为什么要下载并打开fabric.app,但问题是在重新启动构建服务器后默认情况下未下载并打开它:)

Thanks to @MikeB from Fabric, I was finally able to get crashes. I'm not sure why fabric.app was getting downloaded and opened, but the thing is it's not downloaded and opened by default after restarting our build server :)

所以看起来问题出在构建服务器上并已安装并打开fabric.app。现在,在将其完全删除之后,我们便可以崩溃了。

So it looks like the problem was in having installed and opened fabric.app on build server. And now after it's completely removed, we are able to get crashes.

这篇关于如何在CI构建服务器上禁用Fabric.app的自动下载+打开?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆