• iOS App LaunchScreen storyboard not work bug All In One


    iOS App LaunchScreen storyboard not work bug All In One

    bug,iOS LaunchScreen storyboard 不显示图片

    复现步骤 & 问题排查

    1. 删除后,新建 Launch Screen.storyboard 默认的运行成功 ✅

    1. 添加 Label View 不设置,运行成功 ✅

    1. 添加 Image View 不设置,选择 background 图片 ,运行失败 ❌ ???问题在这里

    1. 添加 Image View 不设置,选择 其他 图片 运行成功 ✅???

    问题在这里
    background 图片 太大; ❌
    格式不支持 ???png/ jpg; ❌
    文件夹名称冲突,或名称与配置文件不一致 ???❌

    1. 添加 Image View 设置,选择 其他 图片,添加 约束条件 运行成功 ✅

    1. 添加 Image View 设置,选择 Assets 文件夹外面的图片,运行成功 ✅

    删除重新创建, 配置缓存 bug

    BeiJingTourth.xcodeproj/project.pbxproj

    /* Begin PBXFileReference section */
    		70B12814282CA5AF000716FC /* 北京旅游.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "北京旅游.app"; sourceTree = BUILT_PRODUCTS_DIR; };
    		70B12817282CA5AF000716FC /* BeiJingTourthApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BeiJingTourthApp.swift; sourceTree = "<group>"; };
    		70B12819282CA5AF000716FC /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; };
    		70B1281B282CA5B1000716FC /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
    		70B1281E282CA5B1000716FC /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = "<group>"; };
    		70B1282C282D2278000716FC /* Launch Screen.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = "Launch Screen.storyboard"; sourceTree = "<group>"; };
    		70B1282E282D3574000716FC /* test.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = test.png; path = Assets.xcassets/Bug/Image.imageset/test.png; sourceTree = "<group>"; };
    		70B12830282D35A1000716FC /* test-dark.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "test-dark.png"; path = "Assets.xcassets/Bug/Image.imageset/test-dark.png"; sourceTree = "<group>"; };
    /* End PBXFileReference section */
    
    

    project.pbxproj

    Info.plist

    		70B12823282CA5B1000716FC /* Debug */ = {
    			isa = XCBuildConfiguration;
    			buildSettings = {
    				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
    				ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
    				CODE_SIGN_STYLE = Automatic;
    				CURRENT_PROJECT_VERSION = 1;
    				DEVELOPMENT_ASSET_PATHS = "\"BeiJingTourth/Preview Content\"";
    				DEVELOPMENT_TEAM = GPGP7L32J5;
    				ENABLE_PREVIEWS = YES;
    				GENERATE_INFOPLIST_FILE = YES;
    				INFOPLIST_FILE = BeiJingTourth/Info.plist;
                                    //...
    			};
    			name = Debug;
    		};
    

    bug still ??? why, WTF

    temporary solution ✅

    使用 Assets.xcassets 外面的根目录下 image 才可以正常渲染 Launch Screen 的背景图片,Why???

    https://stackoverflow.com/a/64000507/5934465

    iOS 15 bug

    version bug

    1. iOS 14 ✅

    1. iOS 15 ❌

    ??? iOS 14 ✅,然后切换到 iOS 15 突然好了✅

    solutions ???

    1.查看图片尺寸是否正确,是否添加约束
    2.检查TARGETS → General → App Icons and Launch Images 下 Launch Screen File 设置是否是 LaunchScreen 这个同名的 storyboard 文件
    3.图片资源不能放置在 Assets.xcasset 文件夹中, 要直接拖拽到与 Assets.xcasset 文件夹同层的项目根目录下 ✅, 可以但是不推荐,无法自适应 Dark 模式
    4.卸载 app,重新构建 Command+R

    1. 可以通过清理以下文件夹编译缓存文件 ✅
      ~/Library/Developer/Xcode/DerivedData

    1. 清理缓存
    import UIKit
    
    public extension UIApplication {
      func clearLaunchScreenCache() {
        do {
           try FileManager.default.removeItem(atPath: NSHomeDirectory()+"/Library/SplashBoard")
        } catch {
           print("Failed to delete launch screen cache: \\(error)")
        }
    }
    
    // UIApplication.shared.clearLaunchScreenCache();
    
    

    Library 文件夹中有一个名为 SplashBoard 的文件夹,该文件夹是启动屏缓存的存储位置

    https://www.jianshu.com/p/1cc8b3a74f08

    https://stackoverflow.com/questions/63978396/launch-screen-not-working-on-ios-14-with-xcode-12

    https://developer.apple.com/forums/thread/665358

    https://stackoverflow.com/questions/36947371/ios-xcode-launchscreen-storyboard-not-displaying

    refs

    https://developer.apple.com/design/human-interface-guidelines/ios/visual-design/launch-screen/



    ©xgqfrms 2012-2020

    www.cnblogs.com/xgqfrms 发布文章使用:只允许注册用户才可以访问!

    原创文章,版权所有©️xgqfrms, 禁止转载 ️,侵权必究⚠️!


  • 相关阅读:
    设计原则
    最小路径和--p64--动态规划
    ssm实现数据库关键信息的动态加载
    最大二叉树--p654--递归构造
    城市天际线--p807
    长url转短url--p535
    从中序与后序遍历中构造二叉树-p106--数组,二叉树遍历
    n皇后问题--p52--回溯
    Markdown(editormd)语法解析成HTML
    NFA的实现
  • 原文地址:https://www.cnblogs.com/xgqfrms/p/16263583.html
Copyright © 2020-2023  润新知