跳过内容

复制页面选项

  • 当您开发时,如果您使用CLI中的Ionic live reload功能,它将覆盖插件,因此您将永远无法看到您的更新。

Quasar 实时重载

Quasar 实时重载
  • 它使用与 Ionic 相同的系统,因此您不会看到更新。

更新失败

更新失败
  • 这通常发生在推送大型更新(> 20MB)时,大部分用户将无法获得最新版本。
    在过去,用户需要保持应用程序打开直到下载完成,现在我们使用后台下载,但仍然受限于几秒钟。

我们已经在印度发现了一些设备问题,通过电话与用户联系,要求他们尝试不同的 DNS 服务器,结果成功。

Section titled “Android”

Section titled “Cannot download”

如果您遇到问题,请尝试使用不同的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以外的工具打包您的捆绑包,则捆绑包的格式或压缩包可能不正确,请使用CLI命令 npx @capgo/cli zip BUNDLE_FOLDER.

Java已知问题:

清除浮动问题

标题:清除浮动问题
  • 如果您遇到usesCleartextTraffic问题,很可能是因为插件遵循了Sonar Cloud的最佳实践,通常情况下(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 作为访问 UserDefaults API.

当使用本地服务器进行测试更新时,应用程序将要求网络权限,这是正常行为,使用远程服务器时不会出现此问题。

两种操作系统

两种操作系统

在手动模式下更新时,某些事件不容易捕捉,例如更新失败的触发器就在您的 JavaScript code 重载之前,因此您无法捕捉到它。

一个替代方案是列出捆绑包并检查错误统计,以便知道更新是否失败。

我们需要在未来找到更好的方法来处理这个问题,但这不是优先事项,因为自动模式是推荐的更新方式。

欢迎PR来帮助我们改进这个问题。

如果您的 CLI 有任何问题

检查是否 appId应用名称 在您的 capacitor.config.ts

请遵循官方文档的指引: