fixed ios wifi part support. retry 11.

This commit is contained in:
aria committed 2026-04-23 12:30:38 +09:00
1 parent 1c5946620f
commit 97c2a18c10
4 files changed
+125 -2

No files matched your search

+3
View File
@@ -106,6 +106,7 @@ WiFi options:
- `hiddenSsid`:可选;Android 支持隐藏 SSID;iOS 15+ 会设置 `NEHotspotConfiguration.hidden`
- `bssid`:可选,仅 Android 10+ 临时连接使用
- `joinOnce`:可选,仅 iOS;`connectWifi` 默认 `true`,`saveWifi` 默认 `false`
- `iosReferenceFallback`:可选,仅 iOS,默认 `true`;当主实现返回 `NEHotspotConfigurationErrorDomain` code `8` 时,会按 `JGeraldoLima/cordova-wifi-plugin` 的最小 iOS 写法再尝试一次,用于区分本插件参数/分支问题和系统/API 问题
## Push Notifications
@@ -215,6 +216,8 @@ iOS WiFi:
- 插件会向 Cordova iOS entitlements 写入 `com.apple.developer.networking.HotspotConfiguration`,但仍必须在 Apple Developer App ID 中开启 `Hotspot Configuration` capability,并使用包含该 capability 的 provisioning profile 重新构建。
- 如果 iOS 返回 `NEHotspotConfigurationErrorDomain` code `8` / `internal error`,优先检查 App ID、entitlements、provisioning profile 是否都包含 `Hotspot Configuration`,并确认是在真机前台运行,不是在模拟器中测试。若签名和参数都正确,常见原因是真实热点使用 WPA2/WPA3 transition mode、WPA3 Personal、iPhone Personal Hotspot 默认安全模式,或其他 `NEHotspotConfiguration` 无法表达的 WiFi 能力。
- iOS 错误结果会包含 `applicationState`、`ssidUtf8Length`、`passwordUtf8Length`、`passwordAsciiPrintable` 等诊断字段;WPA/WPA2 密码建议使用 8-63 位可打印 ASCII 字符。
- iOS 错误结果会包含 `pluginVersion`,用于确认 IPA 中实际运行的原生插件版本。
- iOS code `8` 会自动启用 `iosReferenceFallback`。该 fallback 改编自 MIT 许可的 `JGeraldoLima/cordova-wifi-plugin`,只使用 `NEHotspotConfiguration(ssid:passphrase:isWEP:false)`、`joinOnce=false`,不设置 `hidden`,并会返回 `referenceNativeCode` / `referenceNativeError` 供对照。
- iOS 的 `NEHotspotConfiguration` password initializer 公开支持 WEP/WPA/WPA2 Personal,不提供 WPA3 Personal 参数。iOS 传入 `security` 包含 `wpa3` 时会返回 `UNSUPPORTED_WIFI_SECURITY`。WPA2/WPA3 mixed 通常只能按 `security: "wpa2"` 尝试;如果仍失败,需要用户手动加入,或改用配置描述文件/MDM 流程。
- iOS 不提供第三方 App 断开当前 WiFi 的公开 API,因此 `disconnectWifi` 在 iOS 返回错误。