首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使UITests Runner能够访问敏感隐私的数据

如何使UITests Runner能够访问敏感隐私的数据
EN

Stack Overflow用户
提问于 2018-05-10 03:42:45
回答 1查看 466关注 0票数 3

我正在运行一个UITests案例w/ UIImageWriteToSavedPhotosAlbum(),以将我的测试屏幕截图保存到Photos相册:

代码语言:javascript
复制
- (void)testExample
{
  XCUIScreenshot *screenshot = [_app screenshot];
  UIImageWriteToSavedPhotosAlbum(screenshot.image, nil, nil, nil);
}

但是它崩溃了w/错误:

..。XXXUITes-Runner53905:8592232这个应用程序崩溃了,因为它试图访问隐私敏感的数据,而没有使用描述。应用程序的Info.plist必须包含一个带有字符串值的NSPhotoLibraryAddUsageDescription键,向用户解释应用程序如何使用这些数据。

我为我的NSPhotoLibraryUsageDescription目标和应用程序目标提供了NSPhotoLibraryAddUsageDescription和UITest。

搜索了一段时间后,我想不出一种让UITests能够保存图片到Photos应用程序的方法,没有UI级别允许我按下它。

那么,我如何做到这一点,即,使UITests能够访问隐私敏感的数据(在本例中的照片)?

此处提供示例项目:

UITestRunnerIssueDemo

下面是相关的错误细节:

测试套件“所有测试”于2018-05-10 :30:37.693开始。 测试套房“UITestRunnerIssueDemoUITests.xctest”于2018-05-10 :30:37.694开始 测试套房“UITestRunnerIssueDemoUITests”于2018-05-10 :30:37.694开始 测试用例'-UITestRunnerIssueDemoUITests‘已启动。 T= 0.00s启动测试2018-05-10 11:30:37.695 T= 0.05s设置 T= 0.06s开放com.kjuly.UITestRunnerIssueDemo T= 0.10s发射com.kjuly.UITestRunnerIssueDemo T= 3.08s等待com.kjuly.UITestRunnerIssueDemo空闲 T= 6.10s查找目标应用程序0x60c0000dd5e0 T= 6.25s拆卸 2018-05-10 UITestRunnerIssueDemoUITests-Runner53905:8592232这个应用程序已经崩溃,因为它试图访问隐私敏感数据而没有使用说明。应用程序的Info.plist必须包含一个带有字符串值的NSPhotoLibraryAddUsageDescription键,向用户解释应用程序如何使用这些数据。

顺便说一句,我知道我可以获得自动保存在AppData/Library/快照文件夹下的UITests屏幕截图,但是如果我可以从Photos相册中获得它将是很方便的,特别是在实际设备中这样做时,我不愿意每次只为了获取这些屏幕快照而下载AppData(而且,我需要保存的高质量的屏幕快照)。

EN

回答 1

Stack Overflow用户

发布于 2018-06-14 16:07:21

现在我有了完全相同的问题,临时解决办法是将图像保存代码:

代码语言:javascript
复制
  UIImageWriteToSavedPhotosAlbum(screenshot.image, nil, nil, nil);

在应用程序代码中,就像在调试模式下运行它一样。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50265129

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档