我需要一些示例代码来了解如何使用 CoreBlueTooth L2CAP 通道传输音频文件(或任何其他二进制数据)。假设文件不是那么小,让我们说它是几百千字节。
我正在开发一个小型 iOS 应用程序,但它只工作了一半。
在这一点上,我可以传输几千字节,但它并没有走得更远。
以防万一,这是我在发送端的相关代码:
let path = Bundle.main.path(forResource: "\(name)", ofType: nil)!,
url = URL(fileURLWithPath: path)
do {let audioData = try Data(contentsOf: url)
// do something useful with audioData to send it
// to the other device.
..........
let bytesWritten = data.withUnsafeBytes {outStream!.write($0, maxLength: audioData.count)}
if bytesWritten > 0 {
..........
}
} catch {
print("Error: \(error.localizedDescription)")
}
在接收方:
let inData = Data(reading: inStream)
if inData.count != 0 {
// Data has been received.
.......
}
我显然没有显示太多细节,但是我的代码无论如何都缺少一些关键部分,这就是为什么我很高兴找到一些小的工作示例来看看它是如何工作的。