在 iOS 系统中,Crashlytics 不会超过 Fabric 应用程序中的“ Build Your Project”

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

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

要帮助配置您的项目,请现在按 something B 构建它

我按 ⌘B,它建立,什么也没有发生。我认为这个问题是因为我从我的项目中删除了 Crashlytics 和 Fabric 框架,但是我看不出有什么方法可以将它们重新添加回来。Fabric 的应用程序没有给我这个选项。

48103 次浏览

从评论到答案。

我是布料部的迈克。如果你通过 Mac 应用程序备份,然后点击左上角的箭头,点击“ + 新应用程序”,这将引导你通过重新添加一切。

我用以下方法解决了这个问题。遵循上面的建议,我开始给 Crashlytics 添加一个新的应用程序。当我开始添加新的“ Run script”构建阶段时,我只是复制了那个文本并将其粘贴到上一个(由 Crashlytics 创建)。 我还取消了“只在安装时运行脚本”的选项。

在此之后,我取消添加一个新的应用程序,并继续回到升级。此时此刻,构建这个应用程序,可以让你进入下一个步骤,你就不会再停留在那个屏幕上了。

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

./Crashlytics.framework/run <your_api_key_here>

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

releaseConfig="Release"


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

这样它就不会仅仅触发 something B

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

我今天也遇到了同样的问题,问题是我没有 run-script:

./Fabric.framework/run <api key>

在我的项目中。一旦我把这个放回去,一切就完美了。我还清理了我的项目和删除派生数据,只是为了确保。

在我的情况下,我正确地遵循了所有的步骤,但是在“添加构建阶段”的步骤中卡住了。 然后我 刚刚重启了布料和所有的工作都很好

此外,还有一些其他可能的行动:

1)重新启动 Fabric,Xcode 和你的 Mac。 2)另外,如果你使用 Cocoapods 改变建设阶段从

./Crashlytics.framework/run [yourAPIKey]

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

3)建立项目后,如果布料将停止响应只需等待一段时间。这需要大约分钟在我的 Mac。

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

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

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

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

比较两个 run 脚本文件,它们有很大的不同,但是 Cocoapods 的 run 脚本不是平面文本文件,而且不可读。所以我不确定这两个脚本之间有什么不同,但是我们在使用相同版本的 Fabric 时得到了不同版本的脚本。

我也被困在了构建阶段。

我还取消了 "Run script only when installing"选项,再次按下 command + B,然后进入下一步。

我做错的是将脚本添加到 太空舱计划构建阶段而不是 主要工程构建阶段,将脚本添加到主要项目构建阶段解决了这个问题。

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

~ / Library / Caches / com.crashlytics.data
~ / Library / Caches / com.crashlytics.mac

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

这招对我很管用。

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

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

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

转到生成设置并搜索“调试信息格式”。确保“调试”设置为“ DWARF with dSYM File”。

没有 dSYM 文件 Fabric 就不能工作。

进入目标的“生成”设置。 查找“调试信息格式”。 在调试和发布版本中将其从“ DWARF”设置为“ DWARF with dSYM File”

在把我的构建目标设置为“通用 iOS 设备”并从 Product > Archive 菜单中创建一个归档文件之后,我才能让 Fabric 应用继续安装过程。

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

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

如果你使用 Xcode 10

Project Navigator-> your Project-> Targets-> Build Phases-> Your Run Script for Fabric-> Input Files-> “ +”(add Input file)-> clear field and past this line:

$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)

确保 拿开这样: $(SRCROOT)/

enter image description here

如果你有多个目标,

在生成项目之前检查架构选择是否正确。

DR

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

说明:

投票最多的答案 听起来似乎是正确的,但是在有些情况下,在调试构建中不需要 crashlytics (当您只是开发和试验代码时,谁希望发送崩溃?).在这种情况下,您应该通过检查调试编译标志(在本答案的范围之外)来禁用 crashlytics,并在安装构建应用程序发布期间第一次让 crashlytics 知道您构建了应用程序。

为 Xcode 10添加应用程序内置的 Info.plist 位置到 Build Stage 的 Input Files 字段:

$(BUILT _ PRODUCTS _ DIR)/$(INFOPLIST _ PATH)

这解决了我的问题,我希望这能解决别人的问题。

至于 Xcode 10.2.1,通过 Fabric Mac 应用程序自动安装将不再有效。新的应用程序 不能将通过新的应用程序逐步指南添加。

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

一旦应用程序成功启动,新的应用程序信息将在 Fabric 仪表板和 Fabric Mac 应用程序(需要重新启动应用程序才能看到新的应用程序)中可用。


以下是步骤:

  1. 下载2个框架
  2. 拖动到“应用程序委托”所在的项目上(确保勾选“如果需要复制项目”)
  3. 编译 Xcode 的项目/工作空间
  4. 按照指示 给你添加“运行脚本阶段”; 注意 Xcode 10 + 需要在 Input Files处进行额外的配置
  5. 在“应用程序委托”中添加所需的 import和初始化代码
  6. Info.plist中添加 Fabric API 键
  7. 再次编译
  8. 在真正的设备上运行应用程序。您将在 Xcode 日志中看到 Crashlytics行。如果没有出现日志,请检查活动方案是否包含 OS_ACTIVITY_MODE设置。如果当前设置为 disabled,则将其设置为 default
  9. 如果出现 Crashlytics 行,则意味着手动安装正在工作; 您将看到您的应用程序出现在 Fabric 在线仪表板上。

事实证明,我没有足够的权限在 Fabric 中创建新项目。 从 Member升级到 Admin解决了这个问题。

在我的情况下,删除一个应用程序帮助。 1)从 Fabric 中删除应用程序。 2)再次按照所有步骤添加应用程序并安装 Crashlytics。

没有什么帮助我。现在布料捕捉我的档案创建。但我创建的档案通过快车的 build_app

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

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

尝试用双引号“”包装运行脚本变量

"${PODS_ROOT}/Fabric/run"