在我的'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];
}
根据documentation,这是不可能的:
如果您的应用程序在附件通知到达时在后台暂停,则该通知将被放入队列中。当您的应用再次开始运行时(无论是在前台还是后台),队列中的通知都会传递到您的应用。通知也会尽可能合并和过滤,以消除任何不相关的事件。例如,如果在您的应用程序被暂停时连接了附件并随后断开连接,那么您的应用程序最终将不会收到任何有关此类事件发生的指示。
但如果有人证明我错了,那将会很有趣。
在iOS 12.1.4中,当应用程序处于前台时插入带有iPhone和DSLR Camera的中继电缆,然后将应用程序切换到后台模式,拔下中继电缆并将应用程序切换回前台,您将通过EAAccessory的委托方法接收来自附件的DCDisconnect通知。