uni-app HbuilderX正式版云打包 Info.plist 和 manifest 中的 app-plus safearea 设置不生效
uni-app HbuilderX正式版云打包 Info.plist 和 manifest 中的 app-plus safearea 设置不生效
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Mac | 15.4.1 (24E263) | HBuilderX |
产品分类:uniapp/App
PC开发环境操作系统:Mac
HBuilderX类型:正式
HBuilderX版本号:4.57
手机系统:全部
手机厂商:华为
页面类型:vue
vue版本:vue2
打包方式:云端
项目创建方式:HBuilderX
测试过的手机:红米手机K70ultra,澎湃2.0.110.0;iphone15, iOS18.3.2
示例代码:
"safearea" : {
"background" : "#010101",
"backgroundDark" : "#010101",
"bottom" : {
"offset" : "auto"
}
}
<?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>NSUserActivityTypes</key>
<array>
<string>INSendMessageIntent</string>
<string>INStartCallIntent</string>
</array>
</dict>
</plist>
操作步骤:
添加 Info.plist
, 修改 manifest
中的 app-plus -> safearea
字段。
分别用 “快速安心打包” 和 “传统打包” 方式打包。
预期结果:
两者打包后都应该如下:
小米手机和iOS手机下方显示黑色边距(此时开发者无需自行处理安全距离,因为安全距离被填充了黑色北京,safearea bottom
拿到的应该也是 0
)。
iOS设备在上传到 Transpoter 时不应该提示错误(因为已经配置了info.plist
)。
实际结果:
“传统打包” 方式按预期运行,但是 “快速安心打包” 模式出问题。 快速安心打包模式下,iOS和小米手机下方的有了安全距离。 (默认情况下,即最开始时,iOS和小米手机下方会有白色的底部自动填满,应用在执行js时,获取到的底部安全距离是0,不需要手动处理) (我期望是底下变成黑色背景色,同时开发者也无需处理底部边距,但是实际上打出来的包不是这样的,“快速安心打包” 模式下,打出来的包底部的安全距离变成了需要开发者自行处理,而 “传统打包” 模式下打出来的包按照我的预期运行了)。 同时,快速安心打包模式下,上传到 Transpoter 依旧提示错误,但是切换到传统打包模式之后,没有提示错误。
bug描述:
【传统打包方式是好的,但是快速安心打包是有问题的】
我之前 manifest
没有设置 safearea
,打包一直是好的(小米手机和iOS显示下方黑色横条+白色背景)
后来我为了把白色背景该成黑色背景(我们APP主题色是暗色调),就在 manifest
中配置了 safearea
。
同时因为 iOS 在某个版本上传到 Transpoter 的时候,提示没有配置 plist
:(下附错误详情)。
于是我参照文档配置了 plist
。
问题在于,当我选择 “快速安心打包” 时,这两个设置都没生效,最后打包出的APP这两个问题依然存在。
而当我选择 “传统打包方式” 时,这两者都生效了。
Missing Info.plist value. Apps with the com.apple.developer.usernotifications.communication entitlement must specify either “INSendMessageIntent” or “INStartCallIntent” in the value of the NSUserActivityTypes Info.plist key. (90894)
更多关于uni-app HbuilderX正式版云打包 Info.plist 和 manifest 中的 app-plus safearea 设置不生效的实战教程也可以访问 https://www.itying.com/category-93-b0.html