iOS中的Crashlytics不会通过Fabric应用程序中的“构建您的项目”

时间:2015-01-23 19:40:40

标签: ios xcode crashlytics twitter-fabric

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

我遇到了一个问题,所以我删除了框架并决定重新开始尝试重新安装。但Fabric应用程序更新到更新版本,现在当我尝试将Crashlytics重新安装到我的应用程序时,它不会让我选择重新安装框架。它直接点击“安装”到“构建你的项目”屏幕,我无法通过。

  

要帮助配置项目,请按⌘B

立即构建项目

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

26 个答案:

答案 0 :(得分:156)

进入目标的构建设置。 找到“调试信息格式”。 在调试和发行版中都将其从“ DWARF”设置为“带有dSYM文件的DWARF”

答案 1 :(得分:69)

从评论转到答案。

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

答案 2 :(得分:24)

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

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

处处理eCreditWebWrapper.app.dSYM

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

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

答案 3 :(得分:5)

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

时运行脚本

在此之后,我取消了添加新的应用程序并返回UPGRADE。此时,构建应用程序,可以将您带到下一步,您不会再被卡在屏幕上。

答案 4 :(得分:4)

我也被困在Build阶段。

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

答案 5 :(得分:4)

如果脚本没有运行,您可能只在安装"时检查了"运行脚本。在运行脚本部分。 我希望它有所帮助

答案 6 :(得分:2)

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

答案 7 :(得分:2)

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

您必须遵循manual installation instructions。下载2个框架并将其添加到Xcode工作区中,然后添加“运行构建脚本”阶段(以及相关的Fabric代码),然后构建App。最后(非常重要),在实际设备上运行应用

一旦成功启动该应用程序,新的应用程序信息将在Fabric仪表板以及Fabric Mac App中可用(需要重新启动该应用程序以查看新应用程序)。


以下是步骤:

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

答案 8 :(得分:2)

TL; DR

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

说明:

The most voted answer听起来不错,但是在某些情况下,您只是不需要在调试版本中使用crashlytics(谁想要在您开发和试验代码时发送崩溃信息?)。在这种情况下,您应该通过检查调试编译标志(超出此问题的范围)来禁用crashlytics,并且在安装过程中首次构建build app进行发布,以使crashlytics知道您已构建app。

答案 9 :(得分:2)

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

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

答案 10 :(得分:2)

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

./Fabric.framework/run <api key>

在我的项目中。一旦我把它放回去,那一切都完美无缺。我还清理了我的项目并删除了派生数据,以确保。

答案 11 :(得分: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

答案 12 :(得分:1)

如果您使用 Xcode 10

Project Navigator->您的项目-> Targets-> Build Phases->您的Fabric运行脚本->输入文件->“ +”(添加输入文件)->清除字段并超过此行:

$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)

请确保删除以下内容:$(SRCROOT)/

enter image description here

答案 13 :(得分:1)

在我的情况下,我正确地遵循了所有步骤,但仍然坚持“添加构建阶段&#39;步。 然后我刚重新启动结构,一切正常

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

1)只需重新启动Fabric,Xcode和Mac即可。 2)如果你使用Cocoapods改变构建阶段线

./Crashlytics.framework/run [yourAPIKey] 

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

3)构建项目后,如果Fabric停止响应,只需等待一段时间。我的Mac上花了大约一分钟。

答案 14 :(得分:0)

谢谢,我通过删除文件夹来解决问题:

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

答案 15 :(得分:0)

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

答案 16 :(得分:0)

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

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

比较两个运行脚本文件,它们完全不同,但Cocoapods的运行脚本不是平面文本文件,而且不可读。所以我不确定脚本之间有什么不同,但是在使用相同版本的Fabric时我们以某种方式得到了不同版本的脚本。

答案 17 :(得分:0)

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

答案 18 :(得分:0)

如果您有多个目标,

在构建项目之前,请检查对模式的选择是否正确。

答案 19 :(得分:0)

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

答案 20 :(得分:0)

对于Xcode10。将您应用的构建Info.plist位置添加到“构建阶段”的“输入文件”字段中:

$(BUILT_PRODUCTS_DIR)/ $(INFOPLIST_PATH)

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

答案 21 :(得分:0)

原来,我没有足够的权限在Fabric中创建新项目。 从Member升级到Admin解决了该问题。

答案 22 :(得分:0)

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

答案 23 :(得分:0)

没有任何帮助。现在,Fabric捕获了我的存档创建。但是我是通过fastlane的build_app创建档案的。

答案 24 :(得分:0)

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

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

答案 25 :(得分:-1)

转到文件夹.Where(<some condition>)并删除所有 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/<CURRENT_IOS_SDK>/usr/lib/个文件。

它对我有用。