每当用户在iOS设备上打开应用程序时,我想要显示一个小视频(3秒视频)。 (如果应用程序是从内存中打开的,则不显示视频)
我将我的“仪表板”视图作为根视图控制器。
我搜索了SO和其他网站上的所有链接,但都没有帮助。
有时我的视频正在运行但后来的应用程序崩溃了。
我的仪表板视图来自“Main.storyboard”,但故事板上没有控件。 只通过故事板完成导航栏的链接。
这是我的代码。
2a139a55
nslog正确打印视频路径。 像
- (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];
}
但App崩溃了, 它既不显示视频,也显示仪表板,而不是直接显示仪表板。
任何人都可以指导我,我做错了什么。
提前致谢。
如果错误地错过了SO上的任何链接,请同时提供。 感谢。
答案 0 :(得分:1)
尝试调用这样的方法,
- (void)viewDidLoad
{
[super viewDidLoad];
[self performSelector:@selector(showVideo) withObject:nil afterDelay:0.1f];
}
答案 1 :(得分:0)
请在以下路径下启用“启用僵尸对象”选项: 编辑方案 - >诊断 - >启用Zombie Objects
让我知道日志。