Не удается найти подключенный аксессуар, если EAAccessoryManager.shared() вызван в конструкторе AppDelegate

Если я вызываю EAAccessoryManager.shared() внутри конструктора AppDelegate, например,

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

  var accessoryManager = EAAccessoryManager.shared()

  ...

  func application(
    _ application: UIApplication,  
    didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    return true
  }
  ...
}

Затем позже я получаю доступ к диспетчеру аксессуаров, чтобы получить подключенные аксессуары (с подключенным аксессуаром) EAAccessoryManager.shared(). ConnectedAccessories.count возвращает 0, что неверно.

Если я не вызываю EAAccessoryManager.shared() в конструкторе AppDelegate, то EAAccessoryManager.shared(). ConnectedAccessories.count возвращает 1, что является правильным.

Я могу обойти эту проблему, но я действительно хотел понять, почему это может происходить, так как я мог неправильно понять, как работает EAAccessoryManager (или, возможно, что-то более фундаментальное в том, как инициализируется приложение - я новичок в iOS программирование).

Кто-нибудь сталкивался с этой проблемой раньше, или, может быть, есть идея, почему это может происходить?

0 ответов

Другие вопросы по тегам