将Fabric / Crashlytics集成到同时包含iOS和OS X应用的项目中

3
由于有很多共享代码,所以正在进行的应用程序在同一个项目中有其iOS和OS X版本。我尝试将Fabric平台(特别是Crashlytics工具集)集成到它们两个中,但据我所见,通过标准安装向导不可能实现,因为为不同架构(x86_64、arm)编译的二进制文件在安装期间由于相同的路径而互相覆盖。
我认为可以通过将二进制文件放置在不同的路径并在运行阶段指定它们来解决这个问题。但我不确定它是否在未来可维护,特别是考虑到自动更新的事实。有人遇到过这样的任务吗?

观点:有人可能有答案,但这种事情是我避免使用Fabric的原因之一。你要么按照他们的方式去做——不折不扣地执行——要么就会遇到问题。 - Peter DeWeese
1
@PeterDeWeese 幸运的是,情况并非如此 :) - Dmytro Hutsuliak
1个回答

3

来自 Crashlytics 和 Fabric 的 Mike。

您需要执行与我们在 这里 提到的 tvOS 和 iOS 项目类似的操作。

但是以下是您需要做的:

  1. 将 Fabric 和 Crashlytics 添加到您的 iOS 目标。
  2. 将 iOS Crashlytics.framework 和 Fabric.framework 移动到非默认位置。
  3. 在 iOS 项目的“构建设置”中更新框架搜索路径。
  4. 将 iOS Run Scipt 构建阶段中的 /run 路径更新为指向已更新位置。
  5. 构建 iOS 项目以确保检测到框架和 /run 脚本。
  6. 切换到您的 tvOS 目标。
  7. 使用 Fabric.app 按照标准安装步骤将 Crashlytics 安装到您的 tvOS 目标中。
  8. 针对您的 tvOS 目标执行步骤2-5,就可以完成了。

Mike,谢谢你的回答!但是自动更新怎么办?我理解得对吗,每次更新都需要按照这些步骤进行操作? - Dmytro Hutsuliak
1
随时都可以。由于这些框架将位于它们自己的位置,因此更新后的运行脚本将处理更新。 - Mike Bonnell
@MikeBonnell 有没有使用Cocoapods的方法来实现这个? - Isaac Overacker
我已经使用Cocoapods使其正常工作了。我只需要先解除集成。 - Isaac Overacker
1
@IsaacOveracker,能否请您分享一下您与Cocoapods的集成方式?我正在同一个项目中使用Fabric和Crashlytics来开发Mac OSX和iOS应用程序。 - Bipin Vayalu

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