我正在为我的iOS应用安装Crashlytics . 我通过他们的站点链接下载了它,并完成了集成框架,添加运行脚本等所有步骤 .
我遇到了一个问题,所以我删除了框架并决定重新开始并尝试重新安装 . 但Fabric应用程序更新到更新版本,现在当我尝试将Crashlytics重新安装到我的应用程序时,它不会让我选择重新安装框架 . 它直接点击“安装”到“构建你的项目”屏幕,我无法通过 .
要帮助配置项目,请按⌘B立即构建项目
我按⌘B,它构建,没有任何反应 . 我认为问题是因为我从我的项目中删除了Crashlytics和Fabric框架,但是我可以给我这个选项 .
20 回答
从评论转到答案 .
来自Fabric的Mike来自这里 . 如果您通过Mac应用程序备份,然后单击左上角的箭头,单击“新应用程序”,它将引导您重新添加所有内容 .
进入目标的构建设置 . 找到“调试信息格式” . 在调试和发布中将此设置从“DWARF”设置为“带有dSYM文件的DWARF”
如果您检查资源导航器,您可能会看到以下消息:
“对于所有配置,DEBUG_INFORMATION_FORMAT应设置为dwarf-with-dsym . 这也可能是一个计时问题,请确保Fabric运行脚本构建阶段是最后一个构建阶段,并且没有其他脚本将dSYM从Xcode生成它的位置移动 . 无法在路径处理eCreditWebWrapper.app.dSYM
转到“构建设置”并搜索“调试信息格式” . 确保“Debug”设置为“DWARF with dSYM File” .
如果没有dSYM文件,Fabric将无法运行 .
我通过以下方式解决了这个问题 . 根据上面的建议,我开始为crashlytics添加一个新的应用程序 . 当我开始添加新的“运行脚本”构建阶段时,我只是复制了该文本并将其粘贴到上一个文本(使用Crashlytics创建) . 我也取消选中“仅在安装时运行脚本” .
在此之后,我取消了添加新应用程序并返回UPGRADE . 此时,构建应用程序,可以将您带到下一步,您不会再被卡在屏幕上 .
我也被困在Build阶段 .
我也取消选中
"Run script only when installing"
并再次按下命令B然后我转到下一步 .如果脚本未运行,您可能已在运行脚本部分中检查了“仅在安装时运行脚本” . 我希望它有所帮助
我今天遇到了同样的问题 . 问题是我没有运行脚本:
在我的项目中 . 一旦我把它放回去,那一切都完美无缺 . 我还清理了我的项目并删除了派生数据,以确保 .
您必须检查您的部署目标版本,因为“Fabric的最低iOS版本是6.0”
在Run Script构建阶段,有一个调用:
也许你添加了一些条件来触发它只在某些构建,如:
这样它就不会在⌘B上触发
见https://dev.twitter.com/crashlytics/ios/advanced-setup
在我的情况下,我正确地遵循了所有步骤,但卡在了'add build phase'步骤 . 然后我 just restarted fabric 并且一切正常
还有一些其他可能的行动:
1)只需重新启动Fabric,Xcode和Mac . 2)如果你使用Cocoapods改变构建阶段线
至
3)构建项目后,如果Fabric停止响应,只需等待一段时间 . 我的Mac上花了大约一分钟 .
在将构建目标设置为“通用iOS设备”并从“产品”>“存档”菜单创建存档后,我才能够使Fabric应用程序继续安装过程 .
简单地构建应用程序或在模拟器上运行它似乎不会触发Fabric App继续 .
如果您使用 Xcode 10 .
Project Navigator - >您的项目 - >目标 - >构建阶段 - >您的Fabric运行脚本 - >输入文件 - >“”(添加输入文件) - >清除字段并超过此行:
一定要 remove 这个:
$(SRCROOT)/
TL; DR
点击您的方案 - >编辑方案 - >将构建配置设置为“发布”
说明:
The most voted answer听起来不错,但有些情况下你只需要在调试版本中不需要崩解剂(当你开发和试验代码时谁想要崩溃?) . 在这种情况下你应该通过检查调试编译标志(超出此问题的范围)来禁用crashlytics,并且在安装期间第一次构建应用程序以便发布,让崩解者知道您构建了应用程序 .
请交叉验证您添加的运行脚本是否为您的实际目标,如果您将添加到测试目标,则在将其添加到实际目标之前不会继续
这里没有一个解决方案适合我 . 我的方案是其他人将Fabric框架添加到我们的项目并将其提交给repo . 他们的计算机上的运行脚本启动/触发了Fabric插件,但是我没有启动/触发,尽管它没有报告错误 .
解决方案是创建一个单独的项目,使用Cocoapods下载相同版本的Fabric,用Cocoapods下载的版本替换我们的project / repo中的运行脚本(以及目标运行脚本中引用的脚本) . 重建然后插件会响应 .
比较两个运行脚本文件,它们是完全不同的,但Cocoapods的运行脚本不是一个平面文本文件,它是不可读的 . 所以我不确定脚本之间有什么不同,但我们在使用相同版本的Fabric时会以某种方式获得不同版本的脚本 .
我做错了是将脚本添加到 pods project 构建阶段而不是 main project 构建阶段,将其添加到主项目构建阶段解决了问题 .
谢谢,我通过删除文件夹解决了这个问题:〜/ Library / Caches / com.crashlytics.data~ / Library / Caches / com.crashlytics.mac
如果要复制目标,请从构建阶段删除运行脚本并再次添加以解决问题 .
如果你有多个TARGETS,
在构建项目之前检查您的Schema选择是否正确 .
转到文件夹
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/<CURRENT_IOS_SDK>/usr/lib/
并删除 all.dylib
文件 .它对我有用 .