1. 配置 Storyboard 启动界面
在 manifest.json
中配置 iOS 启动界面时,需使用 Storyboard 格式而非直接图片,以避免 App Store 审核不通过,如果不上架IOS商店的话就无所谓了,直接和安卓一样用图片就行。
具体步骤如下:
2. 创建 Storyboard 文件
-
设计界面
- 使用 Xcode 创建
.storyboard
文件,定义启动页的布局和元素(如 Logo、文字等)。 - 支持 Auto Layout 适配不同屏幕尺寸。
- 使用 Xcode 创建
-
关联启动图
- 在 Storyboard 中引用
@2x
和@3x
的 PNG 图片,适配不同分辨率的 iOS 设备。 - 图片命名规范:
launchimage@2x.png
、launchimage@3x.png
。
- 在 Storyboard 中引用
3. 资源文件打包
-
文件要求
- 必需文件:
.storyboard
文件 +@2x
和@3x
的 PNG 图片。 - 压缩格式:将文件打包为
.zip
格式,确保根目录直接包含文件(无嵌套文件夹)。
- 必需文件:
-
示例目录结构
launch.zip ├── LaunchScreen.storyboard ├── launchimage@2x.png └── launchimage@3x.png
4. Manifest.json 配置
在 manifest.json
的 app-plus
→ splashscreen
节点下配置:
{
"app-plus": {
"splashscreen": {
"ios": {
"storyboard": "LaunchScreen", // 无需后缀名
"images": ["launchimage"] // 图片基础名(自动匹配@2x/@3x)
}
}
}
}
参数说明
storyboard
: Storyboard 文件名(不包含后缀)。images
: 图片基础名称,系统自动加载@2x
和@3x
资源。
5. 审核与兼容性处理
-
避免审核失败
- 禁止直接使用 PNG 图片:仅配置 Storyboard 文件,否则 App Store 可能拒绝上架。
- 隐藏状态栏:在 Storyboard 中设置
View controller-based status bar appearance
为NO
。
-
多设备适配
- iPhone/iPad 分离:为不同设备创建独立的 Storyboard 文件,通过
manifest.json
动态加载。 - 动态文本:使用 Auto Layout 确保文字在不同屏幕尺寸下居中显示。
- iPhone/iPad 分离:为不同设备创建独立的 Storyboard 文件,通过
6. 测试与调试
-
本地预览
- 在 Xcode 中运行模拟器,检查启动页布局是否正常。
- 使用
uni.getSystemInfoSync()
获取设备分辨率,验证图片加载逻辑。
-
真机测试
- 通过 TestFlight 分发测试包,验证不同 iOS 版本下的兼容性。
- 检查启动页加载时间,优化资源压缩率以减少白屏时长。
7. 常见问题
-
图片不显示
- 原因:PNG 文件未按
@2x
/@3x
命名,或 Storyboard 中图片名称未匹配。 - 解决:检查压缩包内文件命名,确保与代码配置一致。
- 原因:PNG 文件未按
-
布局错位
- 原因:未使用 Auto Layout 或约束冲突。
- 解决:在 Xcode 中重新调整约束,优先使用「Safe Area」布局。
总结
通过 Storyboard 配置 iOS 启动界面,既能满足苹果审核要求,又能实现动态布局和多分辨率适配。开发者需严格遵循文件命名规范,并在真机测试中验证兼容性。更多细节可参考
UniApp 官方文档https://uniapp.dcloud.net.cn/tutorial/app-splashscreen.html#storyboard