我需要一些示例代码来查看如何使用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.
.......
}
我显然没有显示太多细节,但是我的代码仍然缺少一些关键部分,这就是为什么我很高兴找到一些小的工作示例以了解其工作原理的原因。