# 开发常见问题
# 一、SDK 可支持的系统最低版本是多少
- iOS SDK 最低支持 iOS 系统版本是 13
- Android 的 minSdkVersion 是 21 (即 Android 5)
# 二、开发者工具
# 1、提示要升级最新的开发者工具
- 文案 1:为正常使用多端应用功能,需将当前工具升级到最新 nightly 版并重新升级多端项目
- 文案 2:此版本的该功能已停止维护,请升级最新工具并使用新的升级多端项目功能
- 如出现上述的报错提示,开发者需将开发者工具升级至最新的 nightly 版,并且重新点击「升级多端项目」即可正常使用
# 2、编译报错
# a) [summer-compiler] Couldn't found the 'xxxx.json' file relative to 'xxxx'
- 多端编译对 json 路径的校验比小程序编译更严格,因此开发者需要重新确认一下组件路径配置是否准确
# 三、安卓相关
# 1、 Android 出现 CanvasView is not a constructor
- 因为缺少了 Xweb 的扩展模块导致的,查看说明文档
- 可在
project.miniapp.json
中将 Xweb 扩展 SDK 勾上
# 2、Android 启动失败
# a) 尚未完成 SDK 初始化
- 当应用启动时遇到如下错误提示时,可参考下方的方式进行排查
# 排查步骤
1、检查手机是否已经成功联网;如尚未联网,请联网后重试
2、前往开发者工具进入项目中查看「project.miniapp.json」文件中的 "sdkKey" 和 “sdkKeySecret” 是否与 微信开发者平台中多端应用的 SDKKey 和 SDKSecret 一致
注意,需使用 1.06.2303012 之后的新版本才可在「project.miniapp.json 」中配置"sdkKey" 和 “sdkKeySecret” 。如果是使用其他版本开发者工具生成的多端项目,开发者可全局查找"sdkKey" 和 “sdkKeySecret”即可。
# b) 无权限运行此模块
- 当应用启动时遇到如下错误提示时,可参考下方的方式进行排查
# 排查步骤
1、请检查 miniapp/android/app/src/main/java/com/tencent/weauth/ui/MainActivity.kt
中的 launchAppModule 配置的 miniModuleId 是否与当前小程序关联的模块 Id 一致,如果不一致,需调整成一致后再重新构建即可。
补充:如果开发者在工具上进行过切换小程序账号,需重新修改 miniModuleId
注意,开发者需注意区分应用 id 和模块 id
2、 如果上述问题已经排除还是无权限运行此模块,请尝试卸载 App 再安装即可。
# 四、iOS 相关
# 1、iOS M1 的电脑出现模拟器按钮点击无响应如何处理
# Xcode 版本 ≥ 14.0
- 开发者可在终端执行下方命令后即可解决该问题。(可以通过“活动监视器”查看xcode模拟器的运行架构是否是intel)
arch -x86_64 /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app/Contents/MacOS/Simulator
- 上述解决方案在新版本的xcode可能依然无法生效,开发者只能在真机中调试。
# Xcode 版本 < 14.0
- 开发者可参考下方步骤将模拟器的"使用 Rosetta 打开"勾上即可解决该问题
步骤1. 前往 /Applications/Xcode.app/Contents/Developer/Applications/Simulator
步骤2. 右键打开模拟器简介,并且展开“通用” ,勾选"使用 Rosetta 打开"
# 2、iOS 本地图片无法加载问题
- 因为缺少了 Media 的扩展模块导致的,查看说明文档
- 可在
project.miniapp.json
中将 Media 扩展 SDK 勾上
# 3、iOS 构建 IPA 报错createAssetsCar failed。
# Xcode 没有安装 iOS SDK
- 可能是 Xcode 没有安装 iOS SDK,可安装下方路径查看已安装的 SDK
- 如果尚未安装,则可点击 “get” 进行安装
# Command Line Tool
出现提示 xcrun: error: unable to find utility "actool", not a developer tool or in PATH .
需在 Xcode 「Settings」->「Locations」 中设置 Command Line Tools
# 4、Windows 系统构建 IPA 出现乱码
如出现上述乱码问题,开发者需进行下方两个操作
1、设置保存 IPA/APK 的路径不要包含中文
2、需设置系统默认 utf-8 编码(Windows系统默认字符编码为gbk编码,需将其调整为 UTF-8)
- 按 win 键,输入"区域与语言设置"
- 选择管理语言设置
- 在弹出框中选择更改系统区域设置
- 勾选Unicode UTF-8 并点击确定和应用
- 重启系统即可,如遇问题可自行网上搜索解决方案
# 5、iOS 如何查看日志
iPhone 连接 Mac 电脑,通过开发者工具安装了多端应用的情况下,怎么查看应用的日志?
Mac 打开 ”控制台” 程序,右边
选择你的iPhone手机
,顶部点击开始
按钮。在手机上操作你的应用程序,复现问题。
在 Mac 上点击
暂停
按钮,点击旁边的搜索,输入demo
,类别选择进程名。即可看到多端应用的日志。
说明:
如果应用崩溃了,那么最后一条日志一般会显示崩溃原因。
如果是其他问题,那么请把日志内容共享给我们(导出到 Note 中,再保存成文件)。
# 6、iOS - Asset validation failed (90034)
# 问题描述
报错详情
报错分析
此类报错一般是因为错误使用证书导致,解决方案如下。
# 解决方案
操作流程
检查是否采用分发证书
点击 「签名证书管理 - iOS 签名证书管理」 -> 在「采用分发证书」选择“是”
检查是否有同名证书
打开「钥匙串」,检查是否有同名证书,若有,应删除多余的,保留一个,否则打包时输入证书签证名会产生歧义。报错提示(示例)如下:
iPhone Distribution: xxx (H9178ADUBS): ambiguous (matches "iPhone Distribution: xxx (H9178ADUBS)" and "iPhone Distribution: xxx (H9178ADUBS)" in /Users/xxxx/Library/Keychains/login.keychain)
报错情况一:登录帐号中存在相同的分发证书
报错情况二:系统帐号和登录帐号中存在相同的分发证书
证书介绍
iOS 证书有多种类型,用于不同的目的。以下是 iOS 证书的分类:
- 开发者证书(Developer Certificate):用于在开发阶段对应用程序进行签名和调试。开发者证书由苹果开发者中心颁发,需要使用 Xcode 或者其他开发工具进行申请和管理。
- 分发证书(Distribution Certificate):用于将应用程序分发给其他用户或者上传到 App Store 进行审核。分发证书由苹果开发者中心颁发,需要使用 Xcode 或者其他开发工具进行申请和管理。
- 推送证书(Push Certificate):用于实现远程推送功能,可以让应用程序接收来自服务器的推送通知。推送证书由苹果开发者中心颁发,需要使用 Xcode 或者其他开发工具进行申请和管理。
- 企业证书(Enterprise Certificate):用于将应用程序分发给企业内部员工或者客户。企业证书由苹果开发者中心颁发,需要使用 Xcode 或者其他开发工具进行申请和管理。
# 7、iOS - Asset validation failed (90717)
# 问题描述
报错详情
Invalid App Store Icon. The App Store Icon in the asset catalog in 'demo.app' can't be transparent nor contain an alpha channel. (ID: ee9a621e-b195-4e79-a700-0fbb1aa1xxxx)
报错分析
提交应用到 App Store 时,图标不能包含 alpha 通道或透明度
# 解决方案
关闭图像 alpha 通道可参考如下方法:
https://cloud.tencent.com/developer/ask/sof/111356139
https://developers.weixin.qq.com/community/minihome/article/doc/0008e263df8b002b67a03566a66013
# 8、iOS - 所选证书非有效证书
- 如果提示证书无效,则需要安装Apple全球开发者关系认证媒介中间证书,一般选择Apple Intermediate Certificates 中Worldwide Developer Relations 相关的证书。
# 9、iOS 构建提示 dyld: Symbol not found
需要升级 macOS >= 11.5
# 五、多端应用控制台
# 1、绑定小程序时出现“暂无可绑定的小程序”
- 详细的排查指南可查看暂无可绑定的小程序说明
# 六、其他
# 1、如何获取小程序原始 ID
# 在微信公众平台里获取
- 登录微信公众平台 -> 进入小程序后台 ->「设置」 -> 「基本设置」 -> 「账号信息」
# 在微信小程序里获取
- 在微信里搜索目标小程序 -> 打开目标小程序 -> 查看目标小程序的「更多资料」