index.uts文件代码:
import { StartBluetoothBroadcast, StopBluetoothBroadcast, GetMemoryInfo, OnMemoryInfoChange, OffMemoryInfoChange } from '../interface.uts'
// RwBlue24.uts
// import RwBlue24 from 'RwBlue24'; // 直接导入 Swift 类
// console.log("iOS UTS 模块加载成功");
function numberArrayToHexStr(arr: number[]) {
return arr.map(byte => byte.toString(16).padStart(2, '0')).join('');
}
export const startBluetoothBroadcast : StartBluetoothBroadcast = function (
address: number[],
payload: number[]
) {
const addressBase64 = numberArrayToHexStr(address);
const payloadBase64 = numberArrayToHexStr(payload);
// console.log(addressBase64);
const ble = RwBlue24.getInstance();
console.log("开始广播");
MemoryInfoNative.getMemInfoSwift();
ble.startAdvertisingNoParam();
ble.startAdvertising(addressBase64, payloadBase64);
console.log('广播结束');
};
RwBlue24.swift文件代码:
import Foundation
import CoreBluetooth
import UIKit
import DCloudUTSFoundation
@objc(RwBlue24)
public class RwBlue24: NSObject {
private let centralManager: CBCentralManager
private var peripheralManager: CBPeripheralManager!
private var errorString: String?
private static let advertisingChannel = [37, 38, 39]
public static let shared = RwBlue24()
private override init() {
centralManager = CBCentralManager()
super.init()
peripheralManager = CBPeripheralManager(delegate: self, queue: nil)
}
@objc public static func getInstance() -> RwBlue24 {
return shared
}
@objc public func startAdvertisingNoParam() {
NSLog("==== Swift startAdvertisingNoParam ====")
print("==== Swift startAdvertisingNoParam print ====")
console.log("startAdvertisingNoParam")
}
}
startAdvertisingNoParam()方法没有打印任何信息。只有
广播结束
开始广播
5***@qq.com (作者)
用的是uniapp,不是uniappx
2025-08-19 17:14