在模拟器中运行应用程序时,删除本地通知的iOS权限警报

我试图在 KIF上写一个接受测试,应用程序很早就要求本地的通知权限.不幸的是由于iOS模拟器的安全性原因 it isn’t possible to automate accepting iOS permission alerts using KIF.根据 https://stackoverflow.com/a/28443743/62,看起来有办法禁用位置,通讯录,日历和照片的权限警报,但我找不到一种方法来禁用本地通知权限.我从链接的问题尝试了权利方法,但是以下任何一个密钥都没有起作用:
kTCCServiceNotifications
kTCCServiceNotification
kTCCServicelocalnotification
kTCCServicelocalnotifications

任何其他想法?现在我正在解决这个问题,通过改变生产代码来有条件地禁用接受测试运行时的本地通知,但是理想情况下我不必这样做.

解决方法

不幸的是,我不认为在自动化测试中有一个很好的方式来做到这一点.我知道即使重置模拟器也不足以重置权限.我将设计您的测试,以测试系统调用,但您自己的应用程序代码.

基于用户是否允许通知来测试不同功能的一种方法提取调用以检查权限,然后在测试中将该方法存根.该方法将是最佳做法,因为目标不是测试iOS是否工作,而是您的应用程序代码是否正确.

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...