问题标签 [eaaccessory]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
258 浏览

bluetooth - EAAccessory 已连接但有时无法获取附件对象(iOS10.2)

我的 EAAccessory 应用程序在 iOS 10.2 版本上遇到了一个奇怪的问题。我有一个耳机配件,我使用设置 -> 蓝牙 -> 耳机并连接。在此之后,我启动我的应用程序,但我没有得到附件的实例,也没有来到附件DidConnect:(通知)视图控制器的功能。注意:所有其他版本都可以正常工作。但只有 10.2 版本,有时可以工作,有时不能。请帮助我。

0 投票
0 回答
477 浏览

ios - 如果在 AppDelegate 构造函数中调用 EAAccessoryManager.shared(),则无法找到连接的附件

如果我在 AppDelegate 构造函数中调用 EAAccessoryManager.shared() 例如

然后稍后我访问附件管理器以获取连接的附件(连接了附件)EAAccessoryManager.shared().connectedAccessories.count返回 0,这是不正确的。

如果我不在 AppDelegate 构造函数中调用 EAAccessoryManager.shared() ,则EAAccessoryManager.shared().connectedAccessories.count返回 1,这是正确的。

我可以解决这个问题,但我真的很想了解为什么会发生这种情况,因为我可能误解了 EAAccessoryManager 的工作原理(或者可能是关于如何初始化应用程序的更基本的东西 - 我是 iOS 新手编程)。

以前有没有人遇到过这个问题,或者可能知道为什么会发生这种情况?

0 投票
1 回答
586 浏览

ios - 如何通过 iPhone 上的 OTG 线连接单反相机

我尝试快速使用 EAAccessoryManager:

但是设备列表总是空的,我在谷歌上搜索了两天这个问题,但没有得到任何有用的信息,佳能官方远程控制应用程序通过BLE或Wifi连接到相机,而iPhone的照片应用程序可以访问单反相机并通过 OTG 电缆从中导入照片。所以我认为必须有一种方法来实施解决它。

0 投票
0 回答
99 浏览

ios - iOS Wifi 相机盒 EAAccessory Connection

我有一个通过电缆连接到相机的 Wifi Box。iPhone连接到这个盒子wifi。在建议的(预构建的)iOS 应用程序中,它连接并显示提要。

如何在我自己的应用程序中连接到设备。(目标 c)

我已经用通知设置了 EAAccessory

但是,这永远不会触发。

然后我搜索所有连接的配件

仍然没有运气。

任何建议或解决方案将不胜感激,谢谢

0 投票
1 回答
293 浏览

ios - iOS 11.2.1 上的 EAAccessory 问题 外部附件未通过 Lightning 连接器将数据写入 MFi 设备

iOS 11.2.1,外部配件未通过 Lightning 连接器将数据写入 MFi 设备,

检查苹果提供的 ATS 日志后,iPhone 仅在连接 USB 闪电电缆时才会向硬件发送坏包。它非常适合 BT 连接。

我们已经验证了 NSOutputStream write: maxLength: api 对于所有写入操作都返回成功(0)。此外,记录了实际的字节信息。从应用程序方面,一切正常。但是,当我们检查 ATS 日志时,iPhone USB 堆栈正在发送带有 000...... 字节的坏数据包。

此问题从 iOS 11.2.1 中发现。

0 投票
2 回答
590 浏览

ios - EAAccessory.Name 与配对的设备名称不匹配

我有一个 iOS 应用程序。我可以成功连接到配对的 EAAccessory (Bluetooth Classic)。我能够从通过 EAAccessory 对象公开的设备中提取信息。我注意到的一件事是配对的设备名称(在我的设置 -> 蓝牙 -> 我的设备列表中)与我的 EAAccessory 对象公开的设备名称不匹配。我觉得这很奇怪。

有什么方法可以通过我的 iOS 应用程序获取设备的实际名称(设置页面中的那个)?

0 投票
1 回答
274 浏览

ios - 如何在不连接到真正的蓝牙设备的情况下创建“EAAccessory”对象?

我正在编写单元测试用例,其中EAAccessory我的测试模块中需要该对象。

所以我尝试在EAAccessory不连接到真正的蓝牙设备的情况下创建对象EAAccessoryManager,但是我无法分配isConnected和实例serialNumberEAAccessory因为这些是只读变量。

因此,我决定通过继承类和覆盖变量来模拟类并创建类以返回EAAccessory我自己的值。EAAccessoryMockEAAccessoryisConnectedserialNumber

我认为一切都很好,因为没有编译器错误。但是我收到了下面给出的运行时错误。

捕获“EAAccessoryInitException”,“-init 不支持。EAAccessoryManager 负责创建所有对象。”

那么任何人都可以指导我模拟EAAccessory类或者是否有任何其他方法可以在不模拟EAAccessory且不连接到真正的蓝牙设备的情况下创建对象?

0 投票
1 回答
447 浏览

ios - 如何将 EAAccessory 和 CBPeripheral 与 MFi 设备匹配?

我有 MFi 设备,它使用 BLE 进行控制,使用经典蓝牙进行音频流传输。

在应用程序中,我使用 coreBluetooth 框架来扫描 BLE 和 EAAccessory 框架来扫描经典蓝牙。如果目标设备的经典蓝牙尚未连接,我不希望连接目标设备的 BLE。所以我需要知道哪个 EAAccessory 对应于目标 CBPeripheral。

我熟悉coreBluetooth,有UUID字符串来识别CBPeripheral。但它看起来在 EAAccessory 中不存在。我有一个想法但不确定:也许固件端可以将EAAccessory的序列号CBPeripheral的制造数据配置在相同序列号的广告数据中,以便App端可以检查它们是否相同。

有谁知道在应用程序端和固件端实现此功能的一般方法吗?

0 投票
0 回答
311 浏览

bluetooth - 是否可以快速断开与蓝牙设备的连接?

简短的问题 是否可以快速断开与蓝牙设备的连接?如果是这样,怎么做?

背景

我想使用 swift 4 以编程方式断开与我的蓝牙设备的连接,因为我正在使用第 3 方蓝牙库并注意到当我调用他们的命令来“关闭连接”时,我的实例变量类型

仍然等于 1,并且我的 EAAccessory 实例显示我的连接已打开,但是我的第 3 方库 ConnectionManager 显示我的连接已关闭(因为我调用了关闭它的命令)。但是,显然调用这个第 3 方库 ConnectionManager 的“关闭连接”功能并不足以真正清除 EAAccessoryManager.shared() 和 EAAccessory 的实例变量

是 get-only,所以我不能将连接的附件设置为空数组。

0 投票
0 回答
140 浏览

ios - 关闭(杀死)应用程序 ExternalAccessory iOS 时,我的蓝牙设备正在断开连接

我正在开发通过 ExternalAccessory 协议连接到蓝牙设备的 iOS 应用程序。这是 MFi 程序认证的一部分。我收到来自 MFi 实验室的错误,它告诉我们当我们关闭(杀死)应用程序时,它不应该与设备断开连接。但即使是 EADemo 应用程序(来自苹果)也在断开连接。我确实尝试调用 unregisterFroLocalNotifications() 方法,但没有帮助。关闭输入、输出流时,它会自动终止连接。有什么建议么?