如何在iPhone模拟器上推送视频?

7
我想将一个视频推送到iPhone模拟器中,以测试UIImagePickerController中的视频选择功能。这是否可能?如果可能的话,你能给我一些建议吗?
谢谢。
5个回答

16

这里提出的其他方法都不适用于我,但是我发现了一种在模拟器最新版本(6.1)上有效的方法:

  1. 启动模拟器并从主屏幕导航到照片应用程序。
  2. 从文件系统中将一个 .m4v 文件拖放到模拟器窗口中。视频现在将在 Safari 中播放。
  3. 点击左上角的“完成”。
  4. 点击“共享”按钮,然后选择“保存到相机胶卷”

完成!


这同样适用于 .mov 文件。谢谢! - Alex Spencer

12

我让它更容易了解: 首先,我用QuickTime X录制了一个样本屏幕录像并将其保存为iPhone格式。 然后,我将其复制到'~/Library/Application Support/iPhone Simulator/User/Media/DCIM/100APPLE/VID_0001.m4v' (也许您需要创建100APPLE目录)。重新启动iPhone模拟器,并在Photos应用程序的“已保存照片”下看到我的视频。当我使用UIImagePickerController时,那个视频就在那里,我可以选择它。

如果这有帮助,我使用的是10.6.2上的SDK 3.2.1。


尝试在OS X 10.8.2,xcode 4.5.2(4G2008a)上运行,但似乎无效(Photos.app中没有显示任何新内容)。 - Petr Peller
4
删除PhotoData文件夹有帮助! - Petr Peller
@PetrPeller 删除 photodata 文件夹会删除所有图片的副本。 - Nikita P

2
请按照以下步骤操作:
  1. /Users/UserName/Library/Application Support/iPhone Simulator/6.1/Media/DCIM/100APPLE路径下找到对应的文件夹
  2. 将你的视频文件复制到该文件夹下,并重命名为VID_0001.m4vVID_0001.mov
  3. /Users/UserName/Library/Application Support/iPhone Simulator/6.1/Media/PhotoData路径下删除PhotoData文件夹
  4. 重新启动模拟器,你的视频将出现在已保存的照片中

2
您可以创建一个UIImagePickerController的子类来覆盖其行为并提供自己的视图。如果您这样做,您就可以调用imagePickerController:didFinishPickingMediaWithInfo:并提供自己预先录制的视频。如果您包括从iPhone 3GS实际记录的视频,则获得的行为将非常类似于实际设备的行为。
当然,在发布之前一定要在真实设备上进行测试!
我们以非常类似的方式使用CLLocationManager的子类来提供更好的位置模拟。

0

简短回答:

  1. 将视频文件拖入~/Library/Application Support/iPhone Simulator/6.1/Media/DCIM/100APPLE/,并可能删除Media中的PhotoData文件。

详细回答:

  1. 确保您的电影文件类型被iPhone支持
  2. 打开您的用户下的库。(YourUserName / Library)如果找不到该文件,则该文件是隐藏的。让它可见或使用终端。
  3. 如sogosha所说,导航至~ / Library / Application Support / iPhone Simulator /。如果您有多个iOS模拟器,请选择您当前正在开发的模拟器。 (我有5.0、5.1、6.0和6.1)
  4. 导航至〜/ Library / Application Support / iPhone Simulator / 6.1 / Media / DCIM / 100APPLE /并将视频文件放入其中。如果不存在100APPLE目录,请创建它。
  5. 有时候,您必须删除Navigate to ~/Library/Application Support/iPhone Simulator/6.1/Media/中的PhotoData文件,以强制模拟器识别新文件,因为您没有通过正常方式添加它。
Xcode 4.6.3 和 MacOS 10.8.4,供参考。尚未在 Xcode 5 上尝试过。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接