当app在后台(iOS)时获取EAAccessoryDidConnectNotification

时间:2013-03-04 14:33:44

标签: nsnotificationcenter eaaccessory

在我的“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];
}

2 个答案:

答案 0 :(得分:2)

根据documentation,这是不可能的:

  

如果您的应用在附件中暂停在后台   通知到达时,通知将被放入队列中。当你的   应用程序再次开始运行(在前台或后台),   队列中的通知将传递到您的应用程序。通知   也可以在任何可能的情况下合并和过滤以消除任何问题   无关紧要的事件。例如,如果连接了附件并且   在您的应用暂停时,您的应用会随后断开连接   最终没有收到任何关于此类事件发生的迹象。

但如果有人证明我错了,那会很有趣。

答案 1 :(得分:0)

在iOS 12.1.4中,当应用程序处于前台状态时,将中继电缆与iPhone和DSLR相机插入,然后将应用程序切换到后台模式,拔下中继电缆,然后将应用程序重新切换回前景,您将收到配件,通过EAAccessory的委托方法。