几个ios闪屏和icon的方法和问题

    技术2025-07-24  15

    日常sdk接入工作免不了各种闪屏和icon需要设置,但由于xcode升级导致设置方法有不同的变迁,着此记录下ios的设置方法

    Icons:

    方法一: 早期xcode版本,在Info.plist中设置icons,因不打算再用此方法,具体对应尺寸不在记录 方法二: 设置App Icon Source,widows上可以用convert做切分icon的脚本,mac上推荐 Icon Set Creator免费版,收费版和免费版收费功能并不好用。 附:ios Icon全尺寸

    闪屏

    方法一:启动图 点击工程目录中的Images.xcassets,点击左侧边栏的LaunchImages Launch Screen File留空 xcode11以后没有Launch Images Source,但可以再setting中设置方法二:启动页面 好处是自适应屏幕,不用挨个拖图 方法三: 很多手游渠道对闪屏适配其实不太关心,可以用代码实现一个简单的图片适配和延迟//添加闪屏,如果有的话 NSString *splashName = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"platformID"]; NSString *splashPath = [[NSBundle mainBundle] pathForResource:splashName ofType:@"png"]; if (splashName == NULL || splashPath == NULL){ app->run(); }else{ UIImage *splashImage = [UIImage imageWithContentsOfFile:splashPath]; CGRect rect = [[UIScreen mainScreen] bounds]; UIView* splashView = [[UIView alloc] initWithFrame:rect]; splashView.layer.contents = (id)splashImage.CGImage; [[viewController view] addSubview:splashView]; //退出闪屏 dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ // [splashView removeFromSuperview]; // cocos2d::CCApplication::sharedApplication()->run(); //淡出闪屏 [UIView animateWithDuration:0.5 animations:^{ splashView.alpha = 0.0; app->run(); }]; }); }

    注意: 此方法遇到执行时出现过,显示icon放大到全屏并且模糊的情况, 实际是因为此代码若splashName为nil,则返回的是Images.xcassets中的第一张图的路径

    NSString *splashPath = [[NSBundle mainBundle] pathForResource:splashName ofType:@“png”];

    Processed: 0.010, SQL: 9