生成iOS LaunchImage脚本

组件

react-native-splash-screen

注意事项

脚本没有设置生成ios LaunchImage的路径,需要把图片复制到ios/YourProjectname/Images.xcassets/LaunchImage.launchimage

脚本

脚本来自己git上的一个用户,链接贴上了,我额外增加了一些比较新的分辨率。

javascript 复制代码
# https://gist.github.com/roblabs/d2c3536760755de7715d2248e7854444
#!/bin/bash -e

# --------------------------------------------------------
# Generate iOS Launch items from a single image
# (c) 2017 ePi Rational, Inc.
#
# Modified from original script which generated app icons for iOS,
# originally written by
# Ben Clayton, Calvium Ltd.
#  https://gist.github.com/benvium/2be6d673aa9ac284bb8a
# --------------------------------------------------------

# Process
# As of 2017, the largest launch screen for iOS is.
# 12.9-inch iPad Pro | 2048px by 2732px | `Default-1366h@2x.png`
# 12.9-inch iPad Pro | 2732px by 2048px | `Default-Landscape-1366h@2x.png`
#
# The idea is to create a portrait and landscape at the above sizes,
# then use ImageMagick to scale.
# ImageMagick steps
#   * create a white background with the desired image extent
#   * scale the large image, while tending towards the center
#   * testing showed that the `-resize` alone did not properly create the final image sizes.

# Check imagemagick is installed
# http://stackoverflow.com/questions/592620/check-if-a-program-exists-from-a-bash-script
command -v magick >/dev/null 2>&1 || { echo >&2 "Requires imagemagick, but it's not installed.  See http://www.imagemagick.org.  Aborting."; exit 1; }

# Uses the largest images as the base image for generating the others
portrait="splash_20240809.png"
landscape="splash_20240809.png"

#magick $portrait -resize 320x480 -gravity center -background white -extent 320x480 Default.png
magick $portrait -resize 640x960 -gravity center -background white -extent 640x960 Default@2x.png
magick $portrait -resize 1024x768 -gravity center -background white -extent 1024x768 Default-Landscape.png
magick $portrait -resize 2048x1536 -gravity center -background white -extent 2048x1536 Default-Landscape@2x.png
magick $portrait -resize 768x1024 -gravity center -background white -extent 768x1024 Default-Portrait.png
magick $portrait -resize 1536x2048 -gravity center -background white -extent 1536x2048 Default-Portrait@2x.png
# magick $portrait -resize 1080x1920 -gravity center -background white -extent 1080x1920 Default-640h@3x.png
magick $portrait -resize 1242x2208 -gravity center -background white -extent 1242x2208 Default-Portrait-736h@3x.png
magick $portrait -resize 1125x2436 -gravity center -background white -extent 1125x2436 Default-Portrait-812h@3x.png
# magick $landscape -resize 1920x1080 -gravity center -background white -extent 1920x1080 Default-Landscape-640h@3x.png
magick $portrait -resize 750x1334 -gravity center -background white -extent 750x1334 Default-667h@2x.png
# magick $landscape -resize 1334x750 -gravity center -background white -extent 1334x750 Default-Landscape-667h@2x.png
magick $portrait -resize 640x1136 -gravity center -background white -extent 640x1136 Default-568h@2x.png
# magick $landscape -resize 1136x640 -gravity center -background white -extent 1136x640 Default-Landscape-568h@2x.png
# magick $landscape -resize 2048x2732 -gravity center -background white -extent 2048x2732 Default-1366h@2x.png
# magick $landscape -resize 2732x2048 -gravity center -background white -extent 2732x2048 Default-Landscape-1366h@2x.png
# magick $portrait -resize 1536x2048 -gravity center -background white -extent 1536x2048 Default-1024h@2x.png
# magick $landscape -resize 2048x1536 -gravity center -background white -extent 2048x1536 Default-Landscape-1024h@2x.png
magick $portrait -resize 2436x1125 -gravity center -background white -extent 2436x1125 Default-Landscape-812h@3x.png
magick $portrait -resize 2208x1242 -gravity center -background white -extent 2208x1242 Default-Landscape-736h@3x.png

# **Splash Screens** | Portrait & Landscape, [iOS Human Interface Guidelines](https://developer.apple.com/ios/human-interface-guidelines/graphics/launch-screen/) | ![](assets/README-2dc5de66.png)
# Default (Portrait)|	320px by 480px | `Default.png`
# Default (Portrait)|	640px by 960px | `Default@2x.png`
# iPad |	1024px by 768px | `Default-Landscape.png`
# iPad Retina |	2048px by 1536px | `Default-Landscape@2x.png`
# iPad |	768px by 1024px | `Default-Portrait.png`
# iPad Retina |	1536px by 2048px | `Default-Portrait@2x.png`
# iPhone 6s Plus, iPhone 6 Plus |	1080px by 1920px | `Default-640h@3x.png`
# iPhone 6s Plus, iPhone 6 Plus |	1920px by 1080px | `Default-Landscape-640h@3x.png`
# iPhone 6s, iPhone 6 | 750px by 1334px | `Default-667h@2x.png`
# iPhone 6s, iPhone 6 | 1334px by 750px | `Default-Landscape-667h@2x.png`
# iPhone SE | 640px by 1136px | `Default-568h@2x.png`
# iPhone SE | 1136px by 640px | `Default-Landscape-568h@2x.png`
# 12.9-inch iPad Pro | 2048px by 2732px | `Default-1366h@2x.png`
# 12.9-inch iPad Pro | 2732px by 2048px | `Default-Landscape-1366h@2x.png`
# 9.7-inch iPad Pro, iPad Air 2, iPad mini 4, iPad mini 2 | 1536px by 2048px | `Default-1024h@2x.png`
# 9.7-inch iPad Pro, iPad Air 2, iPad mini 4, iPad mini 2 | 2048px by 1536px | `Default-Landscape-1024h@2x.png`
相关推荐
黑科技iOS上架6 小时前
ReactNative入门介绍
经验分享·ios
智塑未来7 小时前
鸿蒙系统对比安卓、iOS,核心优势是什么?
android·ios·harmonyos
初雪云8 小时前
iOS 上架入门:证书、描述文件、IPA 上传到底是什么关系?
android·ios·自动化·产品经理·iphone
狂热开发者11 小时前
用 Typeoff 把会后口述整理成 Markdown 决策记录
人工智能·windows·macos·ios·安卓
2501_9159184113 小时前
PerfDog 太贵?iOS 性能监控工具的功能对比与选择
android·ios·小程序·https·uni-app·iphone·webview
牛仔只喝牛奶1 天前
多端跨端技术选型:小程序 + H5 + App 的两栈拆分落地
react native·react.js
MDM.Plus1 天前
苹果MDM技术演进:从远程控制到设备信任体系的构建
运维·服务器·安全·ios·mdm·手机店
韩曙亮1 天前
【Flutter】Flutter 进程保活 ③ ( 屏幕常亮设置 | Flutter 禁止息屏、关闭自动锁屏、屏蔽系统屏保 )
android·flutter·ios·屏幕常亮·禁止息屏
2501_915909061 天前
IPA 深度混淆是什么意思?从混淆强度到实际效果的解读
android·ios·小程序·https·uni-app·iphone·webview
apihz2 天前
经纬度制作高清卫星图片免费 API 接口详解
开发语言·ios·swift