You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

执行tccutil命令后,如何恢复iPhone X模拟器的麦克风访问弹窗?

解决iPhone X模拟器麦克风权限提示不弹出且崩溃的问题

我之前也碰到过TCC权限重置后模拟器异常的情况,给你几个亲测有效的解决方案,按顺序尝试应该能解决问题:

  • 重置iPhone X模拟器的所有内容和设置
    这是最直接的方法,能把模拟器恢复到初始状态,让权限提示重新触发:

    1. 打开iPhone X模拟器
    2. 点击顶部菜单栏的Device -> Erase All Content and Settings...
    3. 确认操作后等待模拟器重启,之后重新运行你的APP,应该会弹出麦克风权限请求提示
  • 手动重置模拟器的TCC权限数据库
    如果重置模拟器内容没用,可以直接删除模拟器的TCC数据库文件,让系统重新生成:

    1. 先找到iPhone X模拟器的UUID,在终端执行:
      xcrun simctl list devices | grep "iPhone X"
      
    2. 替换下面命令中的[你的iPhone X模拟器UUID],执行删除操作:
      rm ~/Library/Developer/CoreSimulator/Devices/[你的iPhone X模拟器UUID]/data/Library/TCC/TCC.db
      
    3. 重启模拟器并运行APP,此时应该会重新弹出麦克风权限提示
  • 确保Xcode本身拥有系统麦克风权限
    有时候Xcode的系统权限丢失也会影响模拟器的权限逻辑:

    1. 打开「系统偏好设置」->「安全性与隐私」->「隐私」->「麦克风」
    2. 点击左下角的锁图标解锁,然后点击+号,在应用程序里找到Xcode并添加进去
    3. 重启Xcode和模拟器,再测试权限提示是否正常
  • 清理Xcode缓存
    残留的Derived Data也可能导致异常:

    1. 打开Xcode,点击顶部菜单栏的Xcode -> Preferences -> Locations
    2. 点击Derived Data旁边的箭头,打开文件夹后删除里面的所有内容
    3. 重启Xcode和模拟器,重新运行APP

按上面的步骤操作后,iPhone X模拟器应该会重新每次弹出麦克风访问权限提示,同时崩溃问题也会随之解决(因为权限提示正常后,模拟器的进程逻辑就不会异常了)。

内容的提问来源于stack exchange,提问作者iPhoneProcessor

火山引擎 最新活动