我在Watchkit Extension
的{{1}}中拥有此功能...
InterfaceController
,当用户在手表上停止应用程序时调用。我知道该函数已触发,因为我可以在do catch中添加一条显示语句,以表明它已成功完成。
在func createAndSendCSV(data: Array<String>) {
var csvText = "time, data\n"
let fileName = "\(startTime).csv"
let path = NSURL(fileURLWithPath: NSTemporaryDirectory()).appendingPathComponent(fileName)
for row in data {
csvText += row
}
do {
try csvText.write(to: path!, atomically: true, encoding: String.Encoding.utf8)
WCSession.default.transferFile(path!, metadata: ["time": startTime])
} catch {
print("Failed to create file")
print("\(error)")
}
}
上,我有以下内容,除了确保会话已激活然后尝试使用已发送的文件之外,其他内容不多。我没有看到任何错误,但也没有看到我的打印测试消息。
由于邮件大小,我无法通过sendMessage发送,因此我正在尝试使用CSV文件传输数据。有人知道为什么它可能无法正常工作吗?
ViewController
}
答案 0 :(得分:0)
您使用的transferFile(_:metadata:)
方法异步运行,并受到系统的限制,以适应Apple Watch在性能和功耗方面的限制。您应该能够检查
outstandingFileTransfers属性可确保您正确设置了传输,但除此之外,您可能需要重新考虑如何在两个设备之间共享数据。