在我的“viewDidLoad'in
ViewController.m
中,我正在使用”NSNotificationCenter defaultCenter
“和”EAAccessoryDidConnectNotification
“注册EAAccessoryDidDisconnectNotification
当我的应用程序在前台处于活动状态时,我会收到通知,并在accessoryDidConnect中进行响应。一切正常。
但是,当应用程序处于后台时,我该如何获得此类通知?
('EAAccessoryDidConnectNotification' and 'EAAccessoryDidDisconnectNotification')
[Code below]
非常感谢。 丹
(void)viewDidLoad
{
[super viewDidLoad];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(accessoryDidConnect:)
name:EAAccessoryDidConnectNotification
object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(accessoryDidDisconnect:)
name:EAAccessoryDidDisconnectNotification
object:nil];
[[EAAccessoryManager sharedAccessoryManager] registerForLocalNotifications];
}
答案 0 :(得分:2)
根据documentation,这是不可能的:
如果您的应用在附件中暂停在后台 通知到达时,通知将被放入队列中。当你的 应用程序再次开始运行(在前台或后台), 队列中的通知将传递到您的应用程序。通知 也可以在任何可能的情况下合并和过滤以消除任何问题 无关紧要的事件。例如,如果连接了附件并且 在您的应用暂停时,您的应用会随后断开连接 最终没有收到任何关于此类事件发生的迹象。
但如果有人证明我错了,那会很有趣。
答案 1 :(得分:0)
在iOS 12.1.4中,当应用程序处于前台状态时,将中继电缆与iPhone和DSLR相机插入,然后将应用程序切换到后台模式,拔下中继电缆,然后将应用程序重新切换回前景,您将收到配件,通过EAAccessory的委托方法。