荐 Iphone App创建与审核步骤三:如何修改mac中App Identifiers的LaunchScreen.storyboard及Asset Catalog配置用于iOS启动页及其

2022-08-08,,,,

Iphone App创建审核步骤三:如何修改mac中App Identifiers的LaunchScreen.storyboard及Asset Catalog配置用于iOS启动页及其它图片

一、缘由

        苹果优化了launchImage启动页的设置流程,2020年以后统一使用LaunchScreen.storyboard故事板设置启动页及其图片。

        关于Asset Catalog中的1024*1024图片等问题,也需要用本文提及的方法解决。 

二、需要实现些什么

        2.1、苹果的这项政策,适用于各种App开发工具。      

        拿RAD Studio 10.4 for delphi举例,需要发布如下图所示的故事板所需的launchImage图片,它们分别是运行iPhone的手机屏幕的原始逻辑分辨率的像素尺寸图片、该图片的@2x两倍像素尺寸图片、该图片的@3x两倍像素尺寸图片(any appearance正常环境光线),以及在环境光线较暗(比如夜间)的环境下对应的图片(dark appearance):

        2.2、并使上述发布的图片,能够被mac的Xcode可以识别。

三、启动页故事板LaunchScreen.storyboard图片加载及显示的实现步骤

        3.1、在mac或你的虚拟机“访达”中,打开你的App ID系统管理员对应的Identifiers路径

        比如我的是:  /Users/laichao/PAServer/scratch-dir/Administrator-appjxciosdev/  ,把它拷贝到你的开发机器上,打开后,路径结构如下:

        3.2、打开LaunchScreen.storyboard故事板xml格式文件,修改其中故事板图片、故事板背景颜色“资源参数”:

    <resources>
        <!--运行iPhone的手机屏幕的原始逻辑分辨率的像素尺寸图片:-->
        <image name="LaunchScreenImage" width="750" height="1334"/>
        <!--故事板图片的背景RGB颜色,其中alpha未透明度:-->
        <namedColor name="LaunchScreenBackgroundColor">
            <color red="7" green="107" blue="175" alpha="0.95" colorSpace="custom" customColorSpace="sRGB"/>
        </namedColor>
    </resources>

        有人问:你怎么知道是这个路径的?!其实你在编译的时候,跟踪一下编译过程信息,就会显示路径:

        Compiling Storyboard:PulledupKehuTong.launchscreen/L aunchScreen.storyboard  和

        Compiling Asset Catalog:PulledupKehuTong.launchscreen/Assets

        所以根据这个路径把它从mac或你的虚拟机“访达”中拷贝出来,做上述“资源参数”修改。

      3.3、发布这个文件和上述图片,重新编译

        即可完成:启动页故事板LaunchScreen.storyboard图片加载及显示。

四、关于App审核上架所需的其它图片“资源集”文件的加载

        举例:App Store所要求的App Icon Sizes图片,比如1024*1024图片资源文件:https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/app-icon

 

        4.1、在“资源集”Assets路径下创建xcassets及其子路径AppIcon,按照上述图片尺寸规范将设计好的图片放入其中

        4.2、将上述Asset Catalog文件目录下的所有资源打包为单个的Asset.car文件,并发布

        打包的文件路径及其格式参考(通过命令xcrun --sdk iphoneos assetutil --info Assets.car解包后获取的格式):

[
  {
    "AssetStorageVersion" : "IBCocoaTouchImageCatalogTool-9.4.1",
    "Authoring Tool" : "@(#)PROGRAM:CoreThemeDefinition  PROJECT:CoreThemeDefinition-339.7\n",
    "CoreUIVersion" : 493,
    "DumpToolVersion" : 493.39999999999998,
    "Key Format" : [
      "kCRThemeScaleName",
      "kCRThemeIdiomName",
      "kCRThemeSubtypeName",
      "kCRThemeDeploymentTargetName",
      "kCRThemeGraphicsClassName",
      "kCRThemeMemoryClassName",
      "kCRThemeDisplayGamutName",
      "kCRThemeDirectionName",
      "kCRThemeSizeClassHorizontalName",
      "kCRThemeSizeClassVerticalName",
      "kCRThemeIdentifierName",
      "kCRThemeElementName",
      "kCRThemePartName",
      "kCRThemeStateName",
      "kCRThemeValueName",
      "kCRThemeDimension1Name",
      "kCRThemeDimension2Name"
    ],
    "MainVersion" : "@(#)PROGRAM:CoreUI  PROJECT:CoreUI-493.4\n",
    "Platform" : "ios",
    "PlatformVersion" : "10.0",
    "SchemaVersion" : 2,
    "StorageVersion" : 14,
    "ThinningParameters" : "optimized <idiom 1> <subtype 569> <scale 2> <gamut 1> <graphics 4> <graphicsfallback (3,2,1,0)> <memory 2> <deployment *> <hostedIdioms (4,5)>"
  },
  {
    "AssetType" : "Data",
    "Compression" : "uncompressed",
    "Data Length" : 27,
    "Idiom" : "universal",
    "Name" : "sample-data",
    "Scale" : 1,
    "SizeOnDisk" : 251,
    "UTI" : "UTI-Unknown"
  },
  {
    "AssetType" : "MultiSized Image",
    "Idiom" : "phone",
    "Name" : "AppIcon",
    "Scale" : 1,
    "Sizes" : [
      "20x20 index:0 idiom:phone",
      "29x29 index:1 idiom:phone",
      "40x40 index:2 idiom:phone",
      "57x57 index:4 idiom:phone",
      "60x60 index:5 idiom:phone"
    ]
  },
  {
    "AssetType" : "Image",
    "BitsPerComponent" : 8,
    "ColorModel" : "RGB",
    "Encoding" : "JPEG",
    "Idiom" : "universal",
    "Image Type" : "kCoreThemeOnePartScale",
    "Name" : "Bonsai",
    "Opaque" : true,
    "PixelHeight" : 1024,
    "PixelWidth" : 1024,
    "RenditionName" : "Bonsai.jpg",
    "Scale" : 3,
    "SizeOnDisk" : 330548
  }
]

        参考了网友分享,谢谢:

        https://www.jianshu.com/p/622bb32e0b23  

        https://stackoverflow.com/questions/22630418/analysing-assets-car-file-in-ios/44597439#44597439

        https://www.jianshu.com/p/35831f573109  

        https://www.jianshu.com/p/d2b0f20e2e96

        注:

        如果用RAD Studio 10.4 for delphi的DeployMent工具发布它们,编译时会自动读取xcode内置资源Assets.xcassets下AppIcon文件夹所有图片资源并将其自动打包为Assets.car文件,但应当注意:

        4.2.1、发布路径:应当为项目根,否则不能识别路径及其图片:

        以上,究竟有哪些像素尺寸的图片需要设计与发布,请详看App预览截屏规范涉及的各种屏幕下图片的像素尺寸。有使用“高勇” 先生(QQ:120180714)ListView控件的朋友,可直接参考其说明

        4.2.2、故事板图片:仍旧按照Apple新规范中指定的路径发布,详见《iPhone App创建与审核步骤二:如何在developer.apple.com网站中设置App预览和截屏以完成App上架》https://blog.csdn.net/pulledup/article/details/107088685:

        这样,你边顺利的完成了: 修改mac中App Identifiers的LaunchScreen.storyboard及Asset Catalog配置用于iOS启动页及其它图片。效果如下:

 

 

 

五、iOS上架其它审核限制:

        《iOS开发应用上架必读最新苹果审核规则(史上最全版)》https://blog.csdn.net/zc639143029/article/details/51234645

 

******************************本博客关联文章******************************:

        1、《iPhone App创建与审核步骤一:如何在developer.apple.com网站中设置你的IOS开发所需的Certificates, Identifiers & Profiles》:   https://blog.csdn.net/pulledup/article/details/106985701  

        2、《iPhone App创建与审核步骤二:如何在developer.apple.com网站中设置App预览和截屏以完成App上架》:https://blog.csdn.net/pulledup/article/details/107088685 

        3、《手机路径、Windows路径知识及delphiXE跨设备APP自动下载和升级》: https://blog.csdn.net/pulledup/article/details/96837667  

        4、《Delphi版本信息Version Info(Android个性化AndroidManifest.template.xml包模板文件;IOS或OSX修改info.plist.template.xml》:  https://blog.csdn.net/pulledup/article/details/105220094

        5、《delphiXE IOS编程零碎1-沙盒(沙箱)》:  https://blog.csdn.net/pulledup/article/details/99730518

 

喜欢的话,就在下面点个赞、收藏就好了,方便看下次的分享:
————————————————————————————

本文地址:https://blog.csdn.net/pulledup/article/details/107100019

《荐 Iphone App创建与审核步骤三:如何修改mac中App Identifiers的LaunchScreen.storyboard及Asset Catalog配置用于iOS启动页及其.doc》

下载本文的Word格式文档,以方便收藏与打印。