iphone - How do I add videos to iPad simulator?

2019-01-10 08:04发布

No, dropping the videos to

~/Library/Application Support/iPhone Simulator/3.2/Media/DCIM/100APPLE

does not work totally, because the simulator can see the video on Photos.app, but when I try to pick a video using UIImagePickerController my application crashes.

I think this may have some relation to the format the video has to have. I am using QuickTime to generate the video. I am using the settings "for iPhone"... so it is generating a M4V with 480x360 pixels H264. I have tried to create a MOV with the same characteristics and one with 640x480 but nothing works. I have also dropped a movie created with iPhone 3GS and it still crashes.

I have the file named as VID_0001.MOV, all uppercase.

this is the error I see when it crashes

*** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[NSCFArray objectAtIndex:]: index (1) beyond bounds (0)'

the method didFinishPickingMediaWithInfo is never called, so its some issue on the simulator or on the video. The app crashes as soon as I pick the video.

No solution for this question? c'mon guys! :-)

thanks.

4条回答
等我变得足够好
2楼-- · 2019-01-10 08:12

Took a sec (and some deviousness) but I figured it out. Put a video file into your application's Documents directory, I tried a .MOV but that didn't work, a .m4v worked. Then put this early in your app (I just stuck it in application:didFinishLaunchingWithOptions):

    NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:[NSString stringWithFormat:@"Documents/myMovie.m4v"]];
    UISaveVideoAtPathToSavedPhotosAlbum(path, self, @selector(video:didFinishSavingWithError:contextInfo:), nil);

And add this function (so you can see if an error happened and why):

- (void)video:(NSString *)videoPath didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo {
    if (error != nil) {
        NSLog(@"Error: %@", error);
    }
}

Worked like a charm, I now have a video in my 'Saved Photos' on the simulator.

查看更多
戒情不戒烟
3楼-- · 2019-01-10 08:15

Download any video that have extension .mov onto your desktop. Then open simulator, drag and drop video into simulator. Video will play after that.

Now, you can stop the video and save it into camera roll.

查看更多
我只想做你的唯一
4楼-- · 2019-01-10 08:17

As of iOS 12, the trick seems to be opening mobile Safari, dragging the .mov file onto it in the simulator, and then it opens up the Photos app and you'll see the video there. (Dragging and dropping directly on the Photos app doesn't work for me, for some reason.)

查看更多
狗以群分
5楼-- · 2019-01-10 08:36

This is the way to do it:

First Drag and drop a image or movie into the Simulator window and safari will open with the image you droped in. Then press the share button in the safari tool bar and then click the "Save To Camera Roll Button" and then go to your home Screen and click on the photos app (the one with the flower on it) and go to your saved Photos and there it is!

查看更多
登录 后发表回答