9
votes

Configuration de l'accessoire sans fil dans iOS: eawifiunconfiguredAccessorybrowser détectera une seule fois des accessoires non configurés une fois que

J'utilise eawifiunconfiguredaccessorybrowser strong> pour détecter eawifiunconfiguredAccessory fort>. Le code pour démarrer la recherche accessoire C'est ce qui suit:

- (void) viewWillAppear:(BOOL)animated{
    NSLog(@"view will appear");

    if (_accessories != nil) {
        [_accessories removeAllObjects];
    }

    [self.tableView reloadData];
    [self initializeBrowswerAndStartSearch];
}

- (void) initializeBrowswerAndStartSearch{
    if (_browser != nil) {
        [_browser stopSearchingForUnconfiguredAccessories];
    }

    [_browser startSearchingForUnconfiguredAccessoriesMatchingPredicate:nil];
}

- (void) viewWillDisappear:(BOOL)animated{
    [_browser stopSearchingForUnconfiguredAccessories];
}
  • recréer l'accessoire du navigateur et redémarrer la recherche (ne fonctionne pas) li>
  • Arrêtez la recherche et redémarrez-le (ne fonctionne pas) LI> ul>

    Ceci est le dernier code que j'ai obtenu (reportez-vous à cela avec le code ci-dessus): P>

    - (void)viewDidLoad {
        [super viewDidLoad];
    
        if (_accessories == nil) {
            _accessories = [[NSMutableArray alloc] init];
        }
    
        if (_browser == nil) {
            _browser = [[EAWiFiUnconfiguredAccessoryBrowser alloc] initWithDelegate:self queue:nil];
            _browser.delegate = self;
        }
    }
    


4 commentaires

Oui .. J'ai fini par quitter cette partie du projet pendant quelques semaines et concentrez-vous sur autre chose en espérant que quelqu'un a une réponse. S'il vous plaît garder moi mis à jour si vous parvenez à déterminer pourquoi ..


L'exemple officiel Apple a le même problème. développeur.Apple. com / bibliothèque / iOS / samplecode / homekitCatalog / ...


EH Eh ... Apple .. Ils ont des milliards et pourtant cela se produit, j'espère qu'ils le résoudrent bientôt.


Essayez de recharger les données quelques secondes après la charge de la vue. J'ai découvert que parfois la liste sera mise à jour, mais vous n'obtiendrez pas de notification à ce sujet.


3 Réponses :


4
votes

J'ai donc le même problème..vous devez utiliser le tableau non configurineAccessoires . Essayez également de garder l'instance du navigateur en vie. Si vous découvrez l'appareil une fois et que vous réinstallez le navigateur, vous ne le retrouverez pas à nouveau


0 commentaires

0
votes

J'ai aussi ce problème. Donc, je construis un singleton appelé WAC Service, alors vous pouvez garder ce singleton en vie pendant le cycle de vie des applications. Partout où vous voulez charger les accusées non configurées. Il suffit de le charger de [_Browser non configurréaccessories].


0 commentaires

1
votes

eawifiunconfiguredAccessorybrowser a des problèmes et ne fournit pas de résultat fiable dans certains cas d'utilisation. Je pense que vous devriez essayer que cette méthode

 -(void) initializeBrowswerAndStartSearch    
 {
       // Make EAWiFiUnconfiguredAccessoryBrowser  object nil and reinitiate ,start searching again 
       _browser = nil;
      _browser = [[EAWiFiUnconfiguredAccessoryBrowser alloc]      initWithDelegate:self queue:nil];
      [_browser startSearchingForUnconfiguredAccessoriesMatchingPredicate:nil];
 }


0 commentaires