74

我正在为我的 iOS 应用程序安装 Crashlytics。我通过他们的站点链接下载了它,并完成了集成框架、添加运行脚本等的所有步骤。

我遇到了一个问题,所以我删除了框架并决定重新开始并尝试全新安装。但是 Fabric 应用程序更新到了较新的版本,现在当我尝试将 Crashlytics 重新安装到我的应用程序中时,它没有给我重新安装框架的选项。它直接从单击“安装”到“构建您的项目”屏幕,我无法通过。

为了帮助配置您的项目,请按 ⌘B 立即构建它

我按⌘B,它构建并且没有任何反应。我认为这个问题是因为我从我的项目中删除了 Crashlytics 和 Fabric 框架,但我看不到重新添加它们的方法。Fabric 应用程序没有给我这个选项。

4

26 回答 26

164

进入目标的构建设置。找到“调试信息格式”。在调试和发布中将其从“DWARF”设置为“DWARF with dSYM File”

于 2018-10-10T11:45:53.463 回答
70

从评论转向答案。

来自 Fabric 的 Mike。如果您通过 Mac 应用程序备份,然后单击左上角的箭头,单击“+ 新应用程序”,这将引导您重新添加所有内容。

于 2015-05-04T12:43:52.480 回答
25

如果您检查资源导航器,您可能会看到以下消息:

“对于所有配置,DEBUG_INFORMATION_FORMAT 应设置为 dwarf-with-dsym。这也可能是时间问题,请确保 Fabric 运行脚本构建阶段是最后一个构建阶段,并且没有其他脚本将 dSYM 从 Xcode 生成的位置移动. 无法在路径处理 eCreditWebWrapper.app.dSYM"

转到构建设置并搜索“调试信息格式”。确保“调试”设置为“带有 dSYM 文件的 DWARF”。

没有 dSYM 文件 Fabric 将无法工作。

于 2018-10-08T20:03:27.860 回答
6

至于 Xcode 10.2.1,通过 Fabric Mac 应用程序自动安装将不再起作用。无法通过新应用分步指南添加新应用。

您必须遵循手动安装说明。下载 2 个框架并将其添加到您的 Xcode 工作区中,然后添加 Run Build Script 阶段(和相关的 Fabric 代码),然后构建应用程序。最后(非常重要),在实际设备中运行应用程序。

成功启动 App 后,Fabric 仪表盘和 Fabric Mac App 中都会显示新的 App 信息(需要重新启动 App 才能看到新 App)。


以下是步骤:

  1. 下载 2 个框架
  2. 拖动到您的 App Delegate 所在的项目(确保勾选“如果需要,复制项目”)
  3. 在 Xcode 中编译项目/工作区
  4. 按照此处的说明添加“运行脚本阶段” ;请注意,Xcode 10+ 需要额外的配置Input Files
  5. import在 App Delegate 中添加所需代码和初始化代码
  6. 将 Fabric API 密钥添加到Info.plist
  7. 再次编译
  8. 在真实设备中运行应用程序。您将Crashlytics在 Xcode 日志中看到该行。如果未出现日志,请检查您的活动方案是否包含OS_ACTIVITY_MODE设置。default如果当前设置为 ,请将其设置为disabled
  9. 如果出现 Crashlytics 行,则表示手动安装正在运行;您将看到您的应用程序出现在 Fabric 在线仪表板中。
于 2019-06-21T03:36:37.907 回答
5

我已经通过以下方式解决了这个问题。按照上面的建议,我开始向 crashlytics 添加一个新应用程序。当我要添加新的“运行脚本”构建阶段时,我只是复制了该文本并将其粘贴到前一个文本上(使用 Crashlytics 创建)。我还取消选中“仅在安装时运行脚本”。

在此之后,我取消了添加新应用程序并继续进行升级。此时,构建应用程序可以让您进入下一步,您不会再卡在那个屏幕上。

于 2015-05-22T07:01:08.187 回答
5

我也被困在构建阶段。

我也取消选中"Run script only when installing"并再次按命令+ B,然后我转到下一步。

于 2016-05-31T14:40:12.517 回答
5

如果脚本没有运行,您可能在运行脚本部分选中了“仅在安装时运行脚本”。我希望它有帮助

于 2017-10-26T07:54:39.593 回答
3

TL;博士

点击您的方案 -> 编辑方案 -> 将构建配置设置为“发布”

解释:

投票最多的答案听起来是对的,但在某些情况下,您只是不需要在调试版本中使用 crashlytics(谁希望在您开发和试验代码时发送崩溃?)。在这种情况下,您应该通过检查调试编译标志(超出此答案的范围)来禁用 crashlytics,并且在安装期间首次构建应用程序以让 crashlytics 知道您构建了应用程序。

于 2019-03-25T08:00:25.570 回答
2

我今天有同样的问题。问题是我没有运行脚本:

./Fabric.framework/run <api key>

在我的项目中。一旦我把它放回去,它就会完美地工作。为了确定,我还清理了我的项目并删除了派生数据。

于 2015-07-22T14:14:14.973 回答
2

您必须检查您的部署目标版本,因为“Fabric 的最低 iOS 版本是 6.0”

于 2015-12-07T06:03:37.370 回答
2

如果您使用Xcode 10

Project Navigator -> your project -> Targets -> Build Phases -> your Run Script for Fabric -> Input Files -> "+" (add input file) -> clear field and over this line:

$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)

一定要删除这个:$(SRCROOT)/

在此处输入图像描述

于 2019-02-21T11:24:59.310 回答
2

在将构建目标设置为“通用 iOS 设备”并从“产品”>“存档”菜单创建存档后,我只能让 Fabric 应用程序继续安装过程。

简单地构建应用程序或在模拟器上运行它似乎不会触发 Fabric 应用程序继续进行。

于 2018-12-20T19:44:46.837 回答
1

在运行脚本构建阶段有一个调用:

./Crashlytics.framework/run <your_api_key_here>

也许您添加了一些条件以仅在某些构建上触发它,例如:

releaseConfig="Release"

if [ "$releaseConfig" = "${CONFIGURATION}" ]; then  
    echo "Running Crashlytics"
    ./Crashlytics.framework/run <your_api_key_here>
fi

这样它就不会只触发⌘B

请参阅https://dev.twitter.com/crashlytics/ios/advanced-setup

于 2015-06-23T16:39:05.857 回答
1

在我的情况下,我正确执行了所有步骤,但陷入了“添加构建阶段”步骤。然后我重新启动了织物,一切正常

还有一些其他可能的操作:

1) 只需重启 Fabric、Xcode 和你的 Mac。2)此外,如果您使用 Cocoapods 更改构建阶段线

./Crashlytics.framework/run [yourAPIKey] 

"${PODS_ROOT}/Fabric/run" [yourAPIKey]

3) 构建项目后,如果 Fabric 停止响应,请稍等片刻。在我的 Mac 上花了大约一分钟。

于 2015-10-20T07:43:00.047 回答
1

谢谢,我通过删除文件夹解决了这个问题:

~ / Library / Caches / com.crashlytics.data
~ / Library / Caches / com.crashlytics.mac
于 2016-06-15T08:22:55.953 回答
0

没有什么帮助我。现在 Fabric 捕获了我的存档创建。但我通过 fastlane 的build_app.

于 2019-10-02T06:19:37.077 回答
0

这里没有一个解决方案对我有用。对我来说,场景是其他人将 Fabric 框架添加到我们的项目中并将其提交给 repo。他们计算机上的运行脚本启动/触发了 Fabric 插件,但不会在我的计算机上启动/触发,尽管它没有报告错误。

解决方案是创建一个单独的项目,使用 Cocoapods 下载相同版本的 Fabric,用从 Cocoapods 下载的版本替换我们项目/repo 中的运行脚本(以及目标运行脚本中引用的那个)。重建,然后插件会响应。

比较两个运行脚本文件,它们完全不同,但来自 Cocoapods 的运行脚本不是纯文本文件,而且不可读。所以我不确定脚本之间有什么不同,但是我们在使用相同版本的 Fabric 时不知何故得到了不同版本的脚本。

于 2016-05-11T22:43:43.057 回答
0

如果要复制目标,请从构建阶段删除运行脚本并再次添加以解决问题。

于 2019-01-02T18:42:21.893 回答
0

我做错的是将脚本添加到pods 项目构建阶段而不是主项目构建阶段,将其添加到主项目构建阶段解决了问题。

于 2016-06-07T11:23:38.530 回答
0

如果您有多个目标,

在构建项目之前检查您的架构选择是否正确。

于 2019-03-18T02:20:27.543 回答
0

在更高版本的 Xcode中打开项目。在浪费了很多小时后,这解决了我的问题。

我的项目在 Xcode 10.2 上构建,我在 Xcode 10.1 上运行,但是当我在 Xocode 11 上运行相同的项目时。构建成功。

于 2019-10-21T10:22:38.410 回答
0

原来我没有足够的权限在 Fabric 中创建新项目。从升级MemberAdmin解决问题。

于 2019-08-26T10:27:37.640 回答
0

就我而言,从帮助中删除应用程序。1) 从 Fabric 中删除应用程序。2) 再次按照所有步骤添加应用程序并安装 Crashlytics。

于 2019-09-16T11:27:01.757 回答
0

对于 Xcode 10。将应用的构建 Info.plist 位置添加到 Build Phase 的 Input Files 字段:

$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)

这解决了我的问题,我希望这可以解决其他问题。

于 2019-05-10T20:43:16.330 回答
0

请交叉验证您添加的运行脚本是否添加到您的实际目标,如果您将添加到测试目标它不会继续,直到您将其添加到实际目标

于 2016-04-20T09:35:52.903 回答
-1

转到文件夹/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/<CURRENT_IOS_SDK>/usr/lib/并删除所有 .dylib文件。

它对我有用。

于 2017-08-08T13:35:26.737 回答