gpt4 book ai didi

ios - iOS:应用从后台返回后,在访问EAOutputStream时出现SIGPIPE

转载 作者:行者123 更新时间:2023-12-01 16:41:47 25 4
gpt4 key购买 nike

我有一个iPhone应用程序(iOS 7.0),该应用程序通过ExternalAccessory库与Bluetooth 2.1传感器设备进行交互。如果应用程序通过任何常用方法(锁定,主页按钮,自动休眠等)作为背景,则当它尝试继续写入应用程序用来与设备通信的NSOutputStream上的EASession时,它将获得SIGPIPE。我还收到源自EAOutputStream的内部错误,说发生了写入错误。

从那时起,我将永远无法写入输出流,该输出流始终为状态为5(到达流末尾)的NO返回hasSpaceAvailable

可能感兴趣的是:EAAccessory指向的EASession显示connected: NO,但是[[EAAcessoryManager sharedAccessoryManager] connectedAccessories]中的一个显示connected: YES。它们具有相同的connectionId属性。在这种情况下,传感器设备的链接指示灯会一直亮着,访问“设置”>“蓝牙”屏幕会将设备显示为“已连接”。强制退出应用程序并重新启动是恢复通信的唯一方法。

有人知道我应该如何正确处理吗?我需要在应用进入后台之前向流发送“关闭”命令,然后在返回时再次“打开”命令吗?

最佳答案

我通过关闭流作为后台过程的一部分来解决了这个问题。似乎在应用程序的背景中保留EASession是一个坏主意。即使我没有获得SIGPIPE,也已将其替换为EXEC_BAD_ACCESS。

关于ios - iOS:应用从后台返回后,在访问EAOutputStream时出现SIGPIPE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23642591/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com