如何在iPhone模拟器中testing相机?
有没有什么办法可以在模拟器中testingiPhone摄像头而不必在设备上部署? 这似乎非常乏味。
有许多设备特定的function,你必须在设备上testing,但没有比使用模拟器更难。 只需为该设备构build一个debugging目标,并将其连接到计算机即可。
需要实际设备的操作列表:
- 实际的电话
- 相机
- 加速计
- 真正的GPS数据
- 指南针
- 振动
- 推送通知…
-t
我需要testing一些自定义覆盖照片。 叠加层需要根据图像的大小/分辨率进行调整。
我以一种与Stefan的build议类似的方式来处理这个问题,我决定编写一个“虚拟”的相机响应。
当模拟器运行时,我执行这个虚拟代码而不是标准的“captureStillImageAsynchronouslyFromConnection”。
在这个虚拟代码中,我build立了必要分辨率的“黑色照片”,然后通过stream水线将其发送到像普通照片一样对待。 基本上提供了一个非常快速的相机的感觉。
CGSize sz = UIDeviceOrientationIsPortrait([[UIDevice currentDevice] orientation]) ? CGSizeMake(2448, 3264) : CGSizeMake(3264, 2448); UIGraphicsBeginImageContextWithOptions(sz, YES, 1); [[UIColor blackColor] setFill]; UIRectFill(CGRectMake(0, 0, sz.width, sz.height)); UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); NSData *imageData = UIImageJPEGRepresentation(image, 1.0);
上面的图片相当于当天大部分设备发出的8MP照片。 显然要testing其他决议你会改变大小。
没有(除非他们在3.2中添加了一个方法,还没有检查)。
需要访问摄像头的一个常见原因是为AppStore制作截图。
由于相机在模拟器中不可用,一个好的技巧(我知道的唯一一个技巧)就是根据需要调整视图大小,只是截取截图的时间。 你将在稍后裁剪。
当然,你需要有更大的屏幕可用的设备。
iPad非常适合testing所有设备的布局和快照。 iPhone6 +的屏幕截图将不得不稍微延伸(缩小1,078125 – 不是什么大问题…)
良好的链接到iOS设备的决议快速ref: http : //www.iosres.com/
我写了一个replace视图以在debugging模式下使用。 它实现相同的API,并使相同的代表callback。 在我的情况下,我做了从我的testing集返回一个随机的图像。 写作很琐碎。