如何使用Fabric/Crashlytics的代码检测设备是否越狱?

4
我想检测用户是否使用越狱设备。Fabric/Crashlytics 使用代码来检测设备是否越狱,可以在 Crashlytics 崩溃页面上看到。但我想知道是否也可以使用这段代码?
在 Android 上,检查是否为已 root 设备的代码可以像这样访问:CommonUtils.isRooted(this)
我想知道 Fabric/Crashlytics 的 iOS 代码中是否也包含类似的代码可以使用?当然,我可以编写自己的代码,但使用 Fabric/Crashlytics 的代码会很好。

我一直以为Crashlytics/Fabric会自动处理iOS设备的问题。过去我曾收到过越狱设备的报告,但现在已经很久没有看到了。 - Ramon
@Ramon 是的,它确实可以,但我想自己使用那段代码来检查用户是否拥有越狱设备。抱歉,之前没有表达清楚。 - Kevin van Mierlo
2个回答

5

在iOS上,Fabric没有API可以检查设备是否越狱。在Android上,您可以使用CommonUtils.isRooted(this)

请注意,此处的"jailbroken"是指越狱,"rooted"是指Android系统中的超级用户权限。


很不幸。但是你提到Fabric没有提供API来检查设备是否已经root,但正如我的问题所示,它实际上确实提供了。CommonUtils.isRooted(this)是由Fabric提供的一个函数。那么为什么在Fabric的Android代码中添加了这个功能,而在iOS代码中却没有呢? - Kevin van Mierlo
我忘了在Android上注意到这一点,现在已经更新了我的答案。 - Mike Bonnell

3

对于Android开发,你可以使用Firebase代替Fabric。 Firebase中也有类似的实现方式。 你可以引入以下包:-

import com.google.firebase.crashlytics.internal.common.CommonUtils;

并运行代码:

if(CommonUtils.isRooted(context)){
  //your code here
}

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