在应用程序启动失败时启动视频iOS
每次用户在iOS设备上打开应用程序时,我都想显示一个小视频(3秒视频)。 (如果应用程序从内存打开,然后不显示视频)在应用程序启动失败时启动视频iOS
我有我的“仪表板”视图作为根视图控制器。
我搜索了SO和其他网站上的所有链接,但没有任何帮助。
有时我的视频正在工作,但后来的应用程序崩溃。
我的控制台视图来自“Main.storyboard”,但故事板上没有控件。 只有通过故事板完成导航栏的链接。
这是我的代码。
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
[self showVideo];
}
- (void)showVideo
{
NSString *path = [[NSBundle mainBundle] pathForResource:@"video" ofType:@"mp4"];
NSURL *url = [NSURL fileURLWithPath:path];
NSLog(@"video path :- %@",url);
self.navigationController.navigationBar.hidden = YES;
self.videoController = [[MPMoviePlayerViewController alloc] initWithContentURL:url];
self.videoController.moviePlayer.controlStyle = MPMovieControlStyleNone;
//[self presentMoviePlayerViewControllerAnimated:videoController];
[self.navigationController pushViewController:self.videoController animated:NO];
[self.videoController.moviePlayer play];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(moviePlayBackDidFinish:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:self.videoController];
}
- (void) moviePlayBackDidFinish:(NSNotification*)_notification
{
self.navigationController.navigationBar.hidden = NO;
[[NSNotificationCenter defaultCenter] removeObserver:self
name:MPMoviePlayerPlaybackDidFinishNotification
object:nil];
[self.videoController.view removeFromSuperview];
[self.videoController.moviePlayer stop];
self.videoController = nil;
[self.navigationController popViewControllerAnimated:NO];
//[self.view removeFromSuperview];
}
nslog正在打印视频路径。 像
video path :- file:///Users/itshastra/Library/Developer/CoreSimulator/Devices/87C93694-66E8-4884-B087-10E1E4CBA4D1/data/Containers/Bundle/Application/DB6C89D4-EE6D-4830-B208-B4AA89FD8E59/Complaint.app/video.mp4
但应用程序获取坠毁, 无论它显示的视频,然后仪表盘,不能直接仪表板。
任何人都可以请指导我,我做错了什么。
在此先感谢。
如果错误地错过了我的任何链接,请提供。 谢谢。
尝试调用这样的方法,
- (void)viewDidLoad
{
[super viewDidLoad];
[self performSelector:@selector(showVideo) withObject:nil afterDelay:0.1f];
}
没有工作。 只能工作一次。然后应用程序崩溃, 也没有收到MPMoviePlayerPlaybackDidFinishNotification – Sagar
@RajeshMaurya相反,那么你需要把条件放在'didFinishLaunchingWithOptions'这对我来说是一个最好的解决方案 –
请启用选项“启用僵尸对象”以下路径: 编辑计划 - >诊断 - >启用僵尸对象
,让我知道了日志。
你有没有试过叫[self showVideo];从viewWillAppear方法? – Rajesh
是的,我试过了。但它没有显示黑屏。应用程序在那里冻结。 – Sagar
您是否已将视频添加到Xcode目录或复制包资源? – Rajesh