fixed ios wifi part support. retry 7.

This commit is contained in:
aria committed 2026-04-23 11:29:46 +09:00
1 parent a7f090fcc6
commit e97f17410b
4 files changed
+17 -3

No files matched your search

+1 -1
View File
@@ -214,7 +214,7 @@ iOS WiFi:
- 插件将 iOS deployment target 设置为 `15.0`;如果宿主 App 或构建平台覆盖该值,需要在宿主配置中同步设置 iOS 最低版本为 15.0 或更高。
- 插件会向 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`,并确认是在真机前台运行,不是在模拟器中测试。
- iOS 的 `NEHotspotConfiguration` password initializer 公开支持 WEP/WPA/WPA2 Personal。WPA2/WPA3 mixed 通常应先按 `security: "wpa2"` 测试;如果 WPA2-only 可用但 mixed 不可用,需要调整热点兼容性配置或改用配置描述文件/MDM 流程。
- 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 返回错误。
Firebase:
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "bluememe-utils",
"version": "0.1.6",
"version": "0.1.7",
"description": "Cordova utilities for WiFi, Firebase Cloud Messaging, and biometric unlock for OutSystems 11 apps.",
"license": "MIT",
"files": [
+1 -1
View File
@@ -2,7 +2,7 @@
<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
xmlns:android="http://schemas.android.com/apk/res/android"
id="bluememe-utils"
version="0.1.6">
version="0.1.7">
<name>bluememe-utils</name>
<description>Cordova utilities for WiFi, Firebase Cloud Messaging, and biometric unlock.</description>
<license>MIT</license>
+14
View File
@@ -290,6 +290,7 @@ static NSString * const BluememeDeviceKeyDefaultsKey = @"bluememe_utils_device_k
security = password.length == 0 ? @"open" : @"wpa2";
}
BOOL isOpen = [security isEqualToString:@"open"] || [security isEqualToString:@"none"];
BOOL isWpa3 = [security containsString:@"wpa3"] || [security isEqualToString:@"sae"];
BOOL isWep = [security isEqualToString:@"wep"] || [self boolFromDictionary:options key:@"isWep" defaultValue:NO];
BOOL joinOnce = [self boolFromDictionary:options key:@"joinOnce" defaultValue:defaultJoinOnce];
BOOL hiddenSsid = [self boolFromDictionary:options key:@"hiddenSsid" defaultValue:NO];
@@ -299,6 +300,19 @@ static NSString * const BluememeDeviceKeyDefaultsKey = @"bluememe_utils_device_k
return;
}
if (isWpa3) {
[self sendErrorForCommand:command
code:@"UNSUPPORTED_WIFI_SECURITY"
message:@"iOS NEHotspotConfiguration does not support WPA3 Personal via the app WiFi configuration API. Use WPA/WPA2 Personal with security \"wpa2\", or use a WiFi configuration profile/MDM flow."
details:@{
@"ssid": ssid,
@"security": security,
@"minimumIos": @"15.0",
@"nativeApi": @"NEHotspotConfiguration"
}];
return;
}
if (!isOpen && password.length == 0) {
[self sendErrorForCommand:command code:@"INVALID_WIFI_OPTIONS" message:@"password is required for secured WiFi networks."];
return;