如何在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集返回一个随机的图像。 写作很琐碎。