# 开发常见问题

# 一、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 如何查看日志

  1. iPhone 连接 Mac 电脑,通过开发者工具安装了多端应用的情况下,怎么查看应用的日志?

  2. Mac 打开 ”控制台” 程序,右边选择你的iPhone手机,顶部点击开始按钮。

  3. 在手机上操作你的应用程序,复现问题。

  4. 在 Mac 上点击暂停按钮,点击旁边的搜索,输入demo,类别选择进程名。

  5. 即可看到多端应用的日志。

说明:

  1. 如果应用崩溃了,那么最后一条日志一般会显示崩溃原因。

  2. 如果是其他问题,那么请把日志内容共享给我们(导出到 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 - 所选证书非有效证书

# 9、iOS 构建提示 dyld: Symbol not found

需要升级 macOS >= 11.5

# 五、多端应用控制台

# 1、绑定小程序时出现“暂无可绑定的小程序”

# 六、其他

# 1、如何获取小程序原始 ID

# 在微信公众平台里获取

  • 登录微信公众平台 -> 进入小程序后台 ->「设置」 -> 「基本设置」 -> 「账号信息」

# 在微信小程序里获取

  • 在微信里搜索目标小程序 -> 打开目标小程序 -> 查看目标小程序的「更多资料」