我的应用程序使用位置服务。为了测试当模拟器请求访问位置服务的权限时(当应用程序第一次启动时)用户按下“不允许”时发生的情况,我需要重置模拟器。这是因为这个问题在开发过程开始时就已通过allow 得到了回答。所以不再问任何问题。
使用“重置内容和设置..”重置模拟器不会在开始时带回问题。我做错了什么?
对于 iOS 14 及更高版本:
Device
> Erase All Contents and Settings...
对于 iOS 11 及更高版本:
Hardware
> Erase All Contents and Settings...
对于以前的版本:
Simulator
> Reset Content and Settings...
(在模拟器的早期版本中,顶部菜单条目标签是“iOS Simulator”
对于 iOS 11 及更高版本,您需要进入顶部系统菜单并选择:
“硬件”>“删除所有内容和设置...”
如果您使用雪豹:
转到 Mac 的系统偏好设置(不是模拟器的), 选择安全部分。 点击位置前面的“重置警告”按钮 服务,一切就绪。
或者您可以选择
simctl
在命令行中管理iOS模拟器。
$ xcrun simctl erase all
也删除了所有模拟器中的所有内容。
有关更多信息,您可以阅读 XCBlog 上的此博客:https://medium.com/xcblog/simctl-control-ios-simulators-from-command-line-78b9006a20dc
我尝试在模拟器10.0中“删除所有内容和设置”,但没有用。对我有用的是,在 Simulator 10.0 中,内置了“设置”应用程序。您可以通过以下方式重置:
然后您的授权状态将重置为.notDetermined。
漂亮又方便的工具。很棒的 Fastlane 命令行工具 (https://github.com/fastlane/snapshot)
snapshot reset_simulators
reset_simulators 正在删除所有模拟器并仅为最新的 iOS 版本创建新的模拟器。如果您想为其他版本重新创建模拟器,则必须在 --ios 参数后提供版本列表,例如
snapshot reset_simulators --ios 8.3,8.4,9.0,9.1
打开模拟器
转到设备 > 删除所有内容和设置...