跳转到正文

已知问题

GitHub
  • 在开发过程中,如果你使用了 CLI 的 Ionic live reload 功能,它会覆盖该插件,导致你无法看到更新。
  • 其底层使用的是与 Ionic 相同的系统,因此你将无法看到更新。
  • 这通常发生在推送大型更新(> 20mb)时,很大一部分用户将无法获取最新版本。
    过去,用户需要保持应用开启直到下载完成;现在我们使用了后台下载,但仍受限于几秒钟的时间。

我们发现部分印度设备存在此类问题,通过电话指导用户尝试更换不同的 DNS 服务器后,问题得到了解决。

如果你遇到此问题,请尝试使用不同的 DNS 服务器,例如 Cloudflare 或 Google DNS。

Cloudflare: 1.1.1.1 和 1.0.0.1

Google DNS: 8.8.8.8 和 8.8.4.4 或 dns.google

推送自托管更新时,请注意不能使用 “HTTP” 端点,因为这违反了 Android 应用的安全策略。如果你仍想尝试,请参考以下指南:

解压问题:DEFLATED 条目可能包含 EXT 描述符

如果你使用的工具不是 CLI 来压缩 bundle,则 zip 格式可能不正确,请使用 CLI 命令 npx @capgo/cli zip BUNDLE_FOLDER.

以下是 Java 的已知问题:

  • 如果你在使用 usesCleartextTraffic 时遇到问题,这是因为插件遵循了 SonarCloud 推荐的最佳实践。在 90% 的情况下它都能正常工作,但某些插件可能会导致问题。

若要修复此问题,请添加: android/app/src/main/AndroidManifest.xml ,详见 <application> 键值:

tools:replace="android:usesCleartextTraffic"
xmlns:tools="http://schemas.android.com/tools"

添加 NSPrivacyAccessedAPICategoryUserDefaults 指向您的 隐私清单 (通常 ios/App/PrivacyInfo.xcprivacy):

<?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>NSPrivacyAccessedAPITypes</key>
<array>
<!-- Add this dict entry to the array if the file already exists. -->
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryUserDefaults</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>CA92.1</string>
</array>
</dict>
</array>
</dict>
</plist>

我们建议声明 CA92.1 as the reason for accessing the UserDefaults API。

使用本地服务器测试更新时,应用会请求网络权限,这属于正常行为;使用远程服务器时则不会出现此情况。

在手动模式下更新时,有些事件不容易捕获。例如,更新失败事件会在您的 JS code 重新加载前触发,因此您无法捕获它。

另一种办法是列出 bundle 并查看错误统计,以判断更新是否失败。

我们以后需要找到更好的处理方式,但这并不是优先事项,因为自动模式才是推荐的更新方式。

欢迎提交 PR 帮助我们改进。

如果你的 CLI 执行任何操作时遇到问题,

检查是否 appId 以及 appName 存在于您的 capacitor.config.ts 中

请参考官方文档指南:

如果你正在使用 已知问题 要规划原生插件工作,请将其与 使用 @capgo/capacitor-updater 用于“使用 @capgo/capacitor-updater”中的原生能力, Capgo 插件目录 查看 Capgo 插件目录中的产品工作流, Capgo 提供的 Capacitor 插件 查看由 Capgo 提供的 Capacitor 插件中的实现细节, 添加或更新插件 关于“添加或更新插件”中的实现细节,以及 Ionic Enterprise 插件替代方案 关于“Ionic Enterprise 插件替代方案”中的产品工作流。