iOS - 程序启动播放视频

本文介绍了一种在iOS应用启动时展示新特性的方法,通过检查应用是否首次启动来决定是否播放介绍新特性的视频。使用XZMCoreNewFeatureVC组件进行视频播放,并在播放后更新偏好设置以避免重复播放。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#import "XZMCoreNewFeatureVC.h"
#import "CALayer+Transition.h"

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    UIWindow *window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
    self.window = window;
    //设置状态栏是否可见
    [UIApplication sharedApplication].statusBarHidden = YES;
    //判断是否第一次进入程序,保存到偏好设置下次启动检测是否进入新特性视频播放界面
    if(![[NSUserDefaults standardUserDefaults] boolForKey:@"firstStart"]){

        //判断是否需要启动播放视频界面,第一次启动播放视频
        [self showNewFeatureViewWithCanShow:YES];
    }else{
        //除了第一次启动播放视频以后都不再播放
        [self showNewFeatureViewWithCanShow:NO];
        NSLog(@"非第一次启动");
    }

    [window makeKeyAndVisible];

    return YES;
}

//参数canShow判断是否要展示视频
-(void)showNewFeatureViewWithCanShow:(BOOL)canShow{

    //判断是否需要显示:(内部已经考虑版本及本地版本缓存)
    if(canShow){ // 初始化新特性界面
        self.window.rootViewController = [XZMCoreNewFeatureVC newFeatureVCWithPlayerURL:[[NSBundle mainBundle] URLForResource:@"1.mp4" withExtension:nil] enterBlock:^{

            NSLog(@"进入主页面");
            [self enter];
        } configuration:^(AVPlayerLayer *playerLayer) {

        }];
        [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"firstStart"];
    }else{

        [self enter];
    }
}

//进入主界面
-(void)enter{

    //设置状态栏是否可见
    [UIApplication sharedApplication].statusBarHidden = NO;
    //切换keyWindow的根控制器
    UIViewController *vc = [[UIViewController alloc] init];
    vc.view.backgroundColor = [UIColor brownColor];
    self.window.rootViewController = vc;
    [self.window.layer transitionWithAnimType:TransitionAnimTypeReveal subType:TransitionSubtypesFromRight curve:TransitionCurveDefault duration:2.0f];
}
  • 转自 力小D的博客 略加改动.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值