ios - iOS : EAWiFiUnconfiguredAccessoryBrowser will detect unconfigured accessories only once 无线配件配置

标签 ios objective-c configuration wifi accessory

我正在使用 EAWiFiUnconfiguredAccessoryBrowser 来检测 EAWiFiUnconfiguredAccessory。启动附件搜索的代码如下:

- (void)viewDidLoad {
    [super viewDidLoad];

    if (_accessories == nil) {
        _accessories = [[NSMutableArray alloc] init];
    }

    if (_browser == nil) {
        _browser = [[EAWiFiUnconfiguredAccessoryBrowser alloc] initWithDelegate:self queue:nil];
        _browser.delegate = self;
    }
}

不幸的是,它只在 View 第一次加载时才找到附件。如果我返回到上一个 View 然后重新加载 View ,它不会找到它们。

我试过:

  • 重新创建浏览器附件并重新开始搜索(不起作用)
  • 停止搜索并重新启动它(不起作用)

这是我得到的最新代码(引用上面的代码):

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

似乎附件列表信息被缓存在APP的某处。如果我重新启动应用程序,它会找到它们,所以我想我缺少了一些东西。

有什么帮助吗?

最佳答案

所以我有同样的问题..你应该使用unconfiguredAccessories数组。另外,请尝试保持浏览器实例处于事件状态。如果您发现该设备一次,然后重新实例化浏览器,您将不会再次找到它

关于ios - iOS : EAWiFiUnconfiguredAccessoryBrowser will detect unconfigured accessories only once 无线配件配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31804609/

相关文章:

android - createConfigurationContext 无法在 API 级别 <26 上以编程方式更改语言

ios - 如果我在 Storyboard中为 Collection View 单元手动添加单元格,我该如何调用多个重用标识符?

ios - 为什么每当我使用 Search Display Controller 时底层的 UIViewTable 都会显示

ios - Swift WKWebView 未初始化并导致意外的 nil 错误

ios - stringByReplacingOccurrencesOfString没有给我想要的结果

java - Autowired 属性为 null - Spring Boot 配置

iphone - CLLocationManager 地理围栏/startMonitoringForRegion : vs. startMonitoringForSignificantLocationChanges : vs. 10 分钟开始更新调用

ios - 从不兼容类型 'CGPoint' 分配给 'struct CGPoint'(又名 'id')

ios - UITextField 在 tableviewcell 上单击显示键盘

configuration - 德鲁伊设置错误 : service serving this console is not responding