已知问题
Ionic 实时重载
Section titled “Ionic 实时重载”- 当您开发时,如果您使用 CLI 的 Ionic 实时重载功能,它会覆盖插件,因此您将永远看不到更新。
Quasar 实时重载
Section titled “Quasar 实时重载”- 它在底层使用与 Ionic 相同的系统,因此您将看不到更新。
- 当推送大型更新 (> 20mb) 时通常会发生这种情况,很大比例的用户将无法获得最新版本。 过去,用户需要保持应用打开直到下载完成,现在我们使用后台下载,但仍限制在几秒钟内。
Android
Section titled “Android”我们在印度的设备上发现了一些问题,并与用户通话,让他们尝试不同的 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 的已知问题:
Clearfix 问题
Section titled “Clearfix 问题”- 如果您遇到 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> <!-- 如果文件已存在,请将此 dict 条目添加到数组中。 --> <dict> <key>NSPrivacyAccessedAPIType</key> <string>NSPrivacyAccessedAPICategoryUserDefaults</string> <key>NSPrivacyAccessedAPITypeReasons</key> <array> <string>CA92.1</string> </array> </dict> </array> </dict></plist>我们建议声明 CA92.1 作为访问 UserDefaults API 的原因。
使用本地服务器测试更新时,应用会请求网络权限,这是正常行为,使用远程服务器时不会出现此情况。
两个操作系统
Section titled “两个操作系统”在手动模式更新时,某些事件不易捕获,例如更新失败会在 JS 代码重新加载之前触发,因此您将无法捕获它。
一种替代方法是列出 bundle 并检查错误统计信息以了解更新是否失败。
我们需要在未来找到更好的方法来处理这个问题,但这不是优先事项,因为自动模式是推荐的更新方式。
欢迎提交 PR 帮助我们改进这一点。
如果您的 CLI 在执行任何操作时遇到问题,
请检查 appId 和 appName 是否存在于您的 capacitor.config.ts 中
遵循官方文档的指南: