2

私の 'では、 ' ' と ' 'を使用viewDidLoad'in ViewController.mして に登録しています。アプリがフォアグラウンドでアクティブな場合、通知を受け取り、accessoryDidConnect で応答します。すべて正常に動作します。しかし、アプリがバックグラウンドになっている場合、どうすればそのような通知を受け取ることができますか?NSNotificationCenter defaultCenterEAAccessoryDidConnectNotificationEAAccessoryDidDisconnectNotification

('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];
}
4

2 に答える 2

2

documentationによると、それは不可能です:

アクセサリの通知が届いたときにアプリがバックグラウンドで中断されている場合、その通知はキューに入れられます。アプリが再び (フォアグラウンドまたはバックグラウンドで) 実行を開始すると、キュー内の通知がアプリに配信されます。また、無関係なイベントを排除するために、可能な限り通知が結合およびフィルタリングされます。たとえば、アプリが中断されている間にアクセサリが接続され、その後切断された場合、アプリは最終的にそのようなイベントが発生したという兆候を受け取りません。

しかし、誰かが私が間違っていることを証明してくれたら面白いでしょう。

于 2013-11-06T14:57:27.953 に答える
0

iOS 12.1.4 では、アプリがフォアグラウンドにあるときにリレー ケーブルを iPhone と DSLR カメラに接続し、アプリをバックグラウンド モードに切り替え、リレー ケーブルを取り外してアプリをフォアグラウンドに戻すと、EAAccessory のデリゲート メソッドを介してアクセサリDidDisconnect 通知を受け取ります。 .

于 2019-03-05T12:17:08.743 に答える