如何在模拟器中重置钥匙串?

P5y*_*cH0 10 ios ios-simulator xcode6

我已经在模拟器钥匙串中存储了一些数据用于敏感数据.现在我必须测试如果该数据尚未出现会发生什么.

但我无法重置我的模拟器的钥匙串来测试它.

我尝试从模拟器中删除应用程序,然后执行重置内容和设置.但钥匙串数据仍然存在.

编辑:是的,我已尝试"重置内容和设置",但这不起作用

Tua*_*yen 8

Xcode 13.1

Device您可以通过选项->擦除模拟器上的钥匙串数据,Erase All Content and Settings如下图所示。

请记住,此选项将清除模拟器上的所有当前数据。

在此输入图像描述

希望能帮助别人!


Seg*_*gev 7

最简单的方法是打开模拟器并转到:

"iOS Simulator -> Reset Content and Settings" 这将重置模拟器中的所有内容并将其返回到默认设置。

如果你想通过代码来做到这一点,你可以这样做:

NSArray *secItemClasses = @[(__bridge id)kSecClassGenericPassword,
                       (__bridge id)kSecClassInternetPassword,
                       (__bridge id)kSecClassCertificate,
                       (__bridge id)kSecClassKey,
                       (__bridge id)kSecClassIdentity];
for (id secItemClass in secItemClasses) {
    NSDictionary *spec = @{(__bridge id)kSecClass: secItemClass};
    SecItemDelete((__bridge CFDictionaryRef)spec);
}
Run Code Online (Sandbox Code Playgroud)

  • 实际上,“iOS Simulator -> Reset Content and Settings”并不能解决问题。 (4认同)

Jer*_*oia 5

比赛条件重置内容和设置有时不起作用。如果不起作用,请重试。如果确实无法正常工作,请退出Simulator.app,等待几秒钟,然后从终端运行“ xcrun simctl擦除”。您可以通过运行“ xcrun simctl list”来获取设备的UDID。

此竞赛错误应在最新的Xcode 7 Beta中解决。