Aru*_*amy 8 iphone xcode bluetooth objective-c ios
我正在使用EAAccessoryManager将我的应用程序连接到MFI附件.在初始连接期间,在蓝牙设置屏幕中,它显示为设备已连接.
当我尝试使用连接设备列表时
[accessoryManager connectedAccessories],它返回一个空数组.但是当我使用时showBluetoothAccessoryPickerWithNameFilter,它会向我显示列表中的附件.
问题是我不希望用户选择配件.我想让这个过程成为一个自动化过程.我也在info.plist中包含了附件协议字符串.请指导我这个问题.我在这做什么错?
小智 8
我遇到了同样的问题,并且能够通过Supported external accessory protocols向我的info.plist文件添加密钥来解决它(原始密钥名称是UISupportedExternalAccessoryProtocols)。就我而言,我想扫描连接的 PayPal™ 信用卡终端和 Zebra™ 打印机。这是我的 info.plist 中的相应摘录:
<key>UISupportedExternalAccessoryProtocols</key>
<array>
<string>com.paypal.here.reader</string>
<string>com.zebra.rawport</string>
</array>
Run Code Online (Sandbox Code Playgroud)
一旦我添加了这些,connectedAccessories就被填充了。
你能试试这个功能吗?
- (void)_getAttachedDevices;
{
EAAccessoryManager* accessoryManager = [EAAccessoryManager sharedAccessoryManager];
if (accessoryManager)
{
NSArray* connectedAccessories = [accessoryManager connectedAccessories];
NSLog(@"ConnectedAccessories = %@", connectedAccessories);
}
else
{
NSLog(@"No accessoryManager");
}
}
Run Code Online (Sandbox Code Playgroud)
你得到哪个结果?
显然请记住,EAAccessory仅适用于 Made-For-iPod/iPhone/iPad/AirPlay 许可配件;因此,如果您没有获得许可的配件,您将始终看到一个空数组。您有正规授权的 MFI 配件吗?
如果您还没有阅读过,我建议您阅读Apple 文档。
编辑1:
如果您仍然卡住,请尝试实现连接/断开连接的通知:
[[EAAccessoryManager sharedAccessoryManager] registerForLocalNotifications];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(accessoryDidConnect:)
name:EAAccessoryDidConnectNotification
object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(accessoryDidDisconnect:)
name:EAAccessoryDidDisconnectNotification
object:nil];
Run Code Online (Sandbox Code Playgroud)
您看到您设备的连接了吗?如果是,请尝试获取已连接设备的列表
配件已连接
| 归档时间: |
|
| 查看次数: |
4539 次 |
| 最近记录: |