我正在测试一个iOS静态库:所以没有UI,也没有应用程序。
其中一个单元测试要求访问通讯录并检索联系人列表。问题是,由于我没有在模拟器上启动任何应用程序,因此应该要求用户授予地址簿权限的弹出窗口永远不会出现。所以,'ABAddressBookRequestAccessWithCompletion‘总是返回否。
我发现了类似的主题:Grant access to NAB programatically on iOS 7.0 Simulator,但不适用于我的情况,因为我没有启动任何应用程序,只是测试库方法。
在单元测试静态库时,是否有任何方法访问通讯簿的联系人?
谢谢!
发布于 2014-09-12 07:59:35
单元测试假设您通过使用测试数据和测试预期结果来模拟环境来一次测试一个单元。因此,在您的情况下,您需要模拟来自地址簿的响应,而不是试图从真实的通讯簿中获取数据。
发布于 2015-09-11 12:19:57
我遇到了同样的问题,并阅读了所有关于通过修改模拟器中的数据库授予访问权限的线程。突然间,我用其他手段解决了这个问题:
这显示了模拟器“授予访问权限”上的正常对话框,当我给出它时,似乎一切都像预期的那样工作,包括从调试器中运行。
https://stackoverflow.com/questions/25802791
复制相似问题