在越狱的iOS设备上禁用Touch ID

时间:2014-11-28 01:03:32

标签: ios iphone jailbreak cydia-substrate touch-id

我正在尝试暂时禁用TouchID身份验证,因此即使手指匹配,手机也不会取消阻止。我怎样才能做到这一点?有没有办法通过com.apple.springboard.plist以编程方式更新设置中的开关,就像我使用振动一样?

1 个答案:

答案 0 :(得分:1)

检查设备是否越狱的最简单方法是检查canOpenURL(例如,cydia,mobileCydia URL)。您也可以尝试写入保留路径(例如〜/ private)。还有与fork()和正在运行的进程相关的方法,您可以在逆向工程博客上阅读它。

你应该在运行类似下面的代码之前检查它:

if context.canEvaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics, error: &error) {}

---编辑---

在评论中回答你的问题(就我理解的问题而言):

- (void)performTouchIdLogin {
    LAContext *context = [[LAContext alloc] init];
    LAPolicy policy = LAPolicyDeviceOwnerAuthenticationWithBiometrics;
    NSError *error = nil;

    BOOL isJailbroken = ([[NSFileManager defaultManager] fileExistsAtPath: @"/bin/bash"]); // TODO: handle simulator
    BOOL canUseTouchID = ([context canEvaluatePolicy:policy error:&error]);

    if (!isJailbroken && canUseTouchID) {
        [context evaluatePolicy:policy localizedReason:@"Please log in using TouchID" reply:^(BOOL success, NSError *error) {
            // do something
        }];
    };
}