我们无法通过teamcity CI使我们的Fabric + Crashlytics工作。问题是我们没有在结构仪表板中获得崩溃报告。到目前为止,我尝试了所有可能的解决方案,但仍然无济于事。唯一要尝试的是确保Xcode已关闭且Fabric.app未安装在构建计算机上。然而,一旦开始构建开始,构建机器自动下载并打开Fabric.app(我甚至试图在构建过程中关闭它几次但它仍然弹出并且如果应用程序未打开则构建卡住)。想知道造成这种自动下载的原因以及为什么构建仍然需要它。以下是我们的pods文件的样子:
pod 'Fabric', '~> 1.2' #also tried with pod 'Fabric/Core', '~> 1.2'
pod 'Fabric/Crashlytics', '~> 1.2'
如果我通过xcode在设备上安装应用程序,则会在结构仪表板中看到崩溃。但是,当我们创建CI构建,从hockeyapp(或任何其他分发提供商)部署和下载应用程序时,应用程序不会发送崩溃报告。 Dsyms不会丢失(没有警告,隐藏的dsym上传链接不抱怨缺少dsyms)。 CI构建日志不包含任何错误。在每个teamcity构建之后,在结构仪表板上创建一个新的应用程序版本(这意味着后脚本能够发送dsym并告诉Fabric有关新版本)。我在plist文件和post脚本中检查了我的密钥和秘密。这就是我的帖子脚本的样子:
./Pods/Fabric/Fabric.framework/run <API_key> <Secret>
这就是我们如何将Fabric作为AppDelegate的最后一行开始
[Fabric with:@[CrashlyticsKit]];
有什么想法吗?我没有想法,可能会尝试通过Xcode直接将应用程序提交到应用程序商店(而不是通过应用程序加载器),并可能会为下一个版本寻找其他崩溃报告工具。
答案 0 :(得分:1)
感谢Fabric的@MikeB,我终于能够崩溃了。我不确定为什么fabric.app会被下载并打开,但事情是它在重新启动我们的构建服务器后没有下载并默认打开:)
所以看起来问题是在构建服务器上安装并打开了fabric.app。现在完全删除后,我们就可以崩溃了。