
简体中文
应用图标是在手机上安装应用后显示在桌面的图标,可在 manifest.json 的可视化界面配置:
要求使用1024x1024分辨率图标,不要设置圆角(系统会自动处理圆角)
如果不配置,默认使用iOS提供的图标,效果如下:
注意
App启动时,系统加载应用渲染首页需要一定的时间,为了避免用户等待,手机操作系统提供了特殊的启动界面设计,让用户先看到一个简单的界面,等应用加载完成后正式进入应用首页。
这个界面,即被称为启动封面,也成称为 splash。
当然并非所有App都需要splash,很多系统应用比如计算器、日历都没有splash。
uni-app x中,如不配置splash,则与计算器等应用一致,启动时有轻微闪白,但可以让用户更快的使用首页。
如需配置splash,注意避免splash图与首页风格差异太大。因为uni-app x启动速度非常快,splash只是一闪而过,如果颜色差异太大,会让用户视觉不舒服。
HBuilderX 4.18+ 版本支持配置启动界面。
HBuilderX 4.71 及以上版本Andrid平台可视化界面设置调整到iOS App配置
项中。
uni-app x 的 app-ios 平台,启动界面有以下策略:
Storyboard是Apple提供的一种简化的布局界面,通过xml描述界面,不能编程。 虽然无法制作非常灵活的界面,但满足启动界面是没问题的,比如设定背景色背景图、设定前景文字、图片的位置。 storyboard的优势是启动速度快。在App的真实首页被渲染完成前,可以快速给用户提供一个基于Storyboard的启动屏。
storyboard有两种制作方式:
1. 直接使用模板文件(点击下载)中提供的相对常用的 storyboard 模板,可在这个文件的基础上进行自定义(不需要 Mac 及 XCode,详情请查看附件中的 readme 教程) 此 storyboard 文件适用于各种 iPhone 及 iPad 设备的横竖屏,支持自定义界面元素包括
2. 使用xcode自行制作。xcode提供了可视化的制作storyboard的方式,但依赖于mac电脑。在xcode中制作storyboard的教程请自行网络搜索,请注意下面的注意事项。
HBuilderX需要的自定义storyboard文件格式为zip压缩包,里面要求包含XCode使用的.storyboard文件,以及.stroybard文件中使用的png图,如下图所示:
注意事项
Superview
,不然启动图到 loading页面过渡时页面会跳动或者变形
打开项目的manifest.json文件,在“App启动界面配置”中的“iOS启动图设置”项下选择自己制作的storyboard文件:
HBuilderX 4.71 及以上版本
在 “iOS App配置” 的 “启动界面配置” -> “自定义storyboard启动界面” 中设置
HBuilderX 4.71 以下版本
在 “安卓/iOS启动界面配置” 的 “iOS启动图设置” -> “自定义storyboard启动界面” 中设置
HBuilderX 4.71 及以上版本支持可视化界面配置可选模块
定位相关功能使用 provider机制 实现,uni-app x 项目中使用 uni.getLocation,uni.onLocationChange,uni.offLocationChange 等API时依赖此模块。
支持以下定位 provider :
使用系统自带定位功能,由苹果iOS系统实现
使用此模块,需在manifest.json中配置:
HBuilderX 4.71 及以上版本
可视化界面操作在 “iOS App配置” 的 “可选模块配置” -> “uni-location(定位)” 中勾选 “系统定位”:
也可通过源码视图
在 "app-ios" -> "distribute" -> "modules" -> "uni-location" 下添加 "system" 节点,如下示例:
{
"app-ios": {
"distribute": {
"modules": {
"uni-location":{
"system":{}
}
}
}
}
}
HBuilderX 4.71 以下版本
需通过 manifest.json 的源码视图
在 "app" -> "distribute" -> "modules" -> "uni-location" 下添加 "system" 节点,如下示例:
{
"app": {
"distribute": {
"modules": {
"uni-location":{
"system":{}
}
}
}
}
}
使用 腾讯位置服务 的 “iOS定位SDK” 实现,使用前需申请Key。
同时使用 腾讯地图 时,要求使用相同的Key
使用此模块,需在manifest.json中配置:
HBuilderX 4.71 及以上版本
可视化界面操作在 “iOS App配置” 的 “可选模块配置” -> “uni-location(定位)” 中勾选 “腾讯定位” 并配置 Key:
配置参数
也可通过源码视图
在 "app-ios" -> "distribute" -> "modules" -> "uni-location" 下添加 "tencent" 节点,如下示例:
{
"app-ios": {
"distribute": {
"modules": {
"uni-location":{
"tencent":{
"key": "%从腾讯位置服务申请的Key%"
}
}
}
}
}
}
HBuilderX 4.71 以下版本
需通过 manifest.json 的源码视图
在 "app" -> "distribute" -> "modules" -> "uni-location" 下添加 "tencent" 节点,如下示例:
{
"app": {
"distribute": {
"modules": {
"uni-location":{
"tencent":{}
}
}
}
}
}
HBuilder 4.71 以下版本不支持在 manifest.json 中配置
腾讯位置服务
申请的 Key,需在项目根目录下添加 Info.plist 文件,将 Key 配置到 TencentLBSAPIKey 节点中,如下示例:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>TencentLBSAPIKey</key>
<string>%从腾讯位置服务申请的Key%</string>
</dict>
</plist>
应用需要使用高精度定位时还需配置 NSLocationTemporaryUsageDescriptionDictionary
的 PurposeKey
,并说明高精度定位的原因。
需在项目根目录下添加 Info.plist 文件,配置 NSLocationTemporaryUsageDescriptionDictionary 相关信息,如下示例:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSLocationTemporaryUsageDescriptionDictionary</key>
<dict>
<key>PurposeKey</key>
<string>这里需要您临时授权高精度定位权限,一次临时授权时效仅app一个周期内, 每次硬启动都需要临时授权</string>
</dict>
</dict>
</plist>
uni-app x 项目中使用 map 组件,uni.chooseLocation API时依赖此模块。
地图是商业服务,授权较贵,如需购买,请点击获取优惠。
使用 腾讯位置服务 的 “iOS地图SDK” 实现,使用前需申请Key,并在腾讯后台申请 Key 界面勾选“SDK”。
同时使用 腾讯定位 时,要求使用相同的Key
使用此模块,需在manifest.json中配置:
HBuilderX 4.71 及以上版本
可视化界面操作在 “iOS App配置” 的 “可选模块配置” -> “uni-map(地图)” 中勾选 “腾讯地图” 并配置 Key:
配置参数
也可通过源码视图
在 "app-ios" -> "distribute" -> "modules" -> "uni-map" 下添加 "tencent" 节点配置,如下示例:
{
"app-ios": {
"distribute": {
"modules": {
"uni-map":{
"tencent":{
"key": "%从腾讯位置服务申请的Key%"
}
}
}
}
}
}
HBuilderX 4.71 以下版本
需通过 manifest.json 的源码视图
在 "app" -> "distribute" -> "modules" -> "uni-map" 下添加 "tencent" 节点,如下示例:
{
"app": {
"distribute": {
"modules": {
"uni-map":{
"tencent":{}
}
}
}
}
}
HBuilder 4.71 以下版本不支持在 manifest.json 中配置从
腾讯位置服务
申请的 Key,需在项目根目录下添加 Info.plist 文件,将 Key 配置到 TencentLBSAPIKey 节点中,如下示例:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>TencentLBSAPIKey</key>
<string>%从腾讯位置服务申请的Key%</string>
</dict>
</plist>
请求支付功能使用 provider机制 实现,uni-app x 项目中使用 uni.requestPayment API时依赖此模块。
支持以下支付 provider :
使用 “App支付宝客户端SDK” 实现。使用此模块,需在manifest.json中配置:
HBuilderX 4.71 及以上版本
可视化界面操作在 “iOS App配置” 的 “可选模块配置” -> “uni-payment(支付)” 中勾选 “支付宝支付”:
也可通过源码视图
在 "app-ios" -> "distribute" -> "modules" -> "uni-payment" 下添加 "alipay" 节点配置,如下示例:
{
"app-ios": {
"distribute": {
"modules": {
"uni-payment":{
"alipay":{}
}
}
}
}
}
HBuilderX 4.71 以下版本
需通过 manifest.json 的源码视图
在 "app" -> "distribute" -> "modules" -> "uni-payment" 下添加 "alipay" 节点,如下示例:
{
"app": {
"distribute": {
"modules": {
"uni-payment":{
"alipay":{}
}
}
}
}
}
使用 “微信 Open SDK for iOS” 实现,使用前需到微信开放平台创建移动应用并在开发配置中正确配置iOS应用
的 Bundle ID 和 Universal Links。
在uni-app x项目中使用此模块,需在manifest.json中配置:
HBuilderX 4.71 及以上版本
可视化界面操作在 “iOS App配置” 的 “可选模块配置” -> “uni-payment(支付)” 中勾选 “微信支付” 并配置参数:
配置参数
也可通过源码视图
在 "app-ios" -> "distribute" -> "modules" -> "uni-payment" 下添加 "wxpay" 节点并配置参数,如下示例:
{
"app-ios": {
"distribute": {
"modules": {
"uni-payment":{
"wxpay":{
"appid": "%微信开放平台申请应用的APPID%",
"universalLink": "%微信开放平台设置的 Universal Links%"
}
}
}
}
}
}
HBuilderX 4.71 以下版本
需通过 manifest.json 的源码视图
在 "app" -> "distribute" -> "modules" -> "uni-payment" 下添加 "wxpay" 节点并配置参数,如下示例:
{
"app": {
"distribute": {
"modules": {
"uni-payment":{
"wxpay":{
"appid": "%微信开放平台申请应用的APPID%",
"universalLink": "%微信开放平台设置的 Universal Links%"
}
}
}
}
}
}
注意
HBuilderX 4.71 及以上版本支持可视化配置URL Schemes。
HBuilderX 4.71 以下版本未提供 url scheme 配置,需在 app 原生应用配置文件中进行设置,详情参考:iOS平台 URL Scheme 配置。
打开项目的manifest.json文件,在 “iOS App配置” 的 “URL Schemes” 中设置,如下示例配置 myapp 和 helloapp 两个值:
注意
标准基座可通过此网页体验 Url Scheme 启动 App:https://uniappx.dcloud.net.cn/scheme.html
关联域(Associated Domains)是配置应用通用链接的前置条件,需将通用链接的域名加“applinks:”前缀配置为关联域。如应用需设置通用链接值“https://uniappx.dcloud.net.cn/ulinks”,其域名为“uniappx.dcloud.net.cn”,对应的关联域值则为“applinks:uniappx.dcloud.net.cn”。
HBuilderX 4.71 及以上版本支持可视化配置关联域(Associated Domains)。
HBuilderX 4.71 以下版本未提供 关联域(Associated Domains)配置,需在 app 原生应用配置文件中进行设置,详情参考:iOS平台 Associated Domains 配置。
打开项目的manifest.json文件,在 “iOS App配置” 的 “关联域(Associated Domains)” 中设置,如下示例配置 applinks:uniappx.dcloud.net.cn 值:
完整通用链接配置参考:iOS平台通用链接配置教程
注意
应用访问白名单用于声明当前应用需要检测或跳转的其他应用(或系统功能)的 URL Scheme。它的核心作用是 解决 iOS 9 及以上版本的应用间通信限制,确保应用能安全地查询或调用其他应用的功能。
HBuilderX 4.71 及以上版本支持可视化配置应用访问白名单。
HBuilderX 4.71 以下版本未提供应用访问白名单配置,需在 app 原生应用配置文件 Info.plist 中添加LSApplicationQueriesSchemes
数据。
打开项目的manifest.json文件,在 “iOS App配置” 的 “应用访问白名单” 中设置,如下示例配置 qqmap(腾讯地图)、iosamap(高德地图)、baidumap(百度地图)三个值:
注意
声明应用在后台(App 进入后台或被挂起时)需要继续执行的任务类型。向系统申请特定的后台运行权限,确保应用在后台仍能完成必要操作(如播放音乐、获取位置更新等)。
HBuilderX 4.71 及以上版本支持可视化配置后台运行能力。
HBuilderX 4.71 以下版本未提供后台运行能力配置,需在 app 原生应用配置文件 Info.plist 中添加UIBackgroundModes
数据。
打开项目的manifest.json文件,在 “iOS App配置” 的 “后台运行能力” 中设置:
注意
隐私信息访问的许可描述
向用户解释应用为何需要访问敏感数据或功能(如相机、相册、位置等),这些描述会在系统首次请求权限时展示给用户,直接影响用户是否授权。
HBuilderX 4.71 及以上版本支持可视化配置隐私信息访问的许可描述。
HBuilderX 4.71 以下版本未提供隐私信息访问的许可描述配置,需在 app 原生应用配置文件中进行设置,详情参考:iOS隐私信息访问描述配置。
打开项目的manifest.json文件,在 “iOS App配置” 的 “隐私信息访问的许可描述” 中设置:
使用uni内置模块时,云端打包回自动添加模块需要的隐私信息访问的许可描述,但许可描述信息是通用描述,不一定适合应用的实际使用场景描述,需根据应用的实际情况配置准确的许可描述。
注意
HBuilder4.34版本新增支持
iOS平台配置应用内部名称,默认值为“UniAppX”,最多支持15个字符,详细说明参考苹果官方文档。
如需更改应用内部名称,可在项目 manifest.json 文件的 "app" -> "distribute" -> "ios" 节点配置 CFBundleName,如下示例将应用内部名称修改为“MyApp”:
{
"app": {
"distribute": {
"ios": {
"CFBundleName": "MyApp"
}
}
}
}
注意
HBuilder4.34版本新增支持
iOS平台配置应用在iPad设置是否能够与其他应用程序共享屏幕(分屏显示),需配置应用支持iPad设备时有效,默认值为true(可与其他应用程序共享屏幕)。更多信息参考苹果官方文档。
如需更改此配置,可在项目 manifest.json 文件的 "app" -> "distribute" -> "ios" 节点配置 UIRequiresFullScreen,如下示例为配置应用不与其他应用共享屏幕:
{
"app": {
"distribute": {
"ios": {
"UIRequiresFullScreen": false
}
}
}
}
注意