iOS SDK
配网和注册
蓝牙配网

BLE 配网

timeout 单位为,例如 60 表示 60 秒。bindWithUid 虽然是可空类型,但没有默认参数,调用时必须显式传入。

AI 模组特别说明:当模组是 AI 模组,且由模组自行与云端建立绑定关系时,SDK 配网必须设置 bindWithUid = true 配网前先完成用户登录,或设置有效的 uidtoken。该模式使用当前用户的绑定设备列表确认配网结果;普通配网场景传 false。此开关不能代替登录,也不等同于 App 主动调用设备 bind()

配网前先扫描并获取设备。对于广播支持 5 GHz 配网的模组,SDK 会自动选择对应的协议,无需新增调用接口。

返回类型为 GizResult<GizBaseProfile?, GizActivatorException?>。通过能力对象的 deviceProfile 读取模组信息;netStatus 为枚举。

import GizwitsiOSSDK
 
// 在 Task 或 async 函数内执行;AI 模组自行建立云端绑定时使用 true
let bindWithUid = true
let capability = device.bleCapability
if let profile = capability.deviceProfile as? GizBleProfile,
   profile.configured == false, capability.isOnline {
    let result = await capability.provideWiFiCredentials(
        ssid: ssid,
        password: password,
        timeout: 60,
        processHandler: { event in print(event) },
        bindWithUid: bindWithUid
    )
    if let error = result.error ?? nil, error == .GIZ_SDK_DEVICE_CONFIG_TIMEOUT {
        print("Timeout")
    }
    if result.success, let configuredDevice = result.data ?? nil {
        print(configuredDevice.mac)
    }
}

停止配网

let stopResult = await device.bleCapability.stopProvideWiFiCredentials()