AirLocate e BeaconDemo: não aparecendo

eu tenho 2 dispositivos, iPhone 5 (act as Beacon) e iPhone 5s (act as Beacon Detector), ambos com iOS 8.1.

ambos os dispositivos activos:

  • Serviço de localização (Privacidade > serviço de localização > sempre para o AirLocate)
  • Bluetooth
  • Wi-Fi, juntando-se ao mesmo SSID que tem ligação à Internet (não muito relacionada)
  • o iPhone 5s tem cartão SIM, com uma força de sinal adequada
  • o iPhone 5 não tem cartão SIM

no iPhone 5, instalei Demonstração e configuração da Apple :

  • activado: Sim
  • UUID: e2c56db5-DFFB-48D2-B060-D0F5A71096E0
  • Major: 0
  • Minor: 0
  • Potência Medida: -59

Uma vez que o espaço aéreo original é relatado não funcionar no iOS 8 por omissão, modifiquei o AppDelegate didFinishLaunchingWithOptions com:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{

    // This location manager will be used to notify the user of region state transitions.
    self.locationManager = [[CLLocationManager alloc] init];
    self.locationManager.delegate = self;
    if([self.locationManager respondsToSelector:@selector(requestAlwaysAuthorization)]) {
        [self.locationManager requestAlwaysAuthorization];
    }

    if ([UIApplication instancesRespondToSelector:@selector(registerUserNotificationSettings:)]){
        [application registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert|UIUserNotificationTypeBadge|UIUserNotificationTypeSound categories:nil]];
    }
    return YES;
}

no iPhone 5s, instalei A demonstração do Beacon e configurei como segue (adicione uma nova Beacon):

  • Farol UUID: E2C56DB5-DFFB-48D2-B060-D0F5A71096E0
  • ID principal: (vazio)
  • ID menor: (vazio)
  • Olá Mensagem: Teste De Entrada
  • Adeus Mensagem: Adeus Testes

No entanto, o iPhone 5 não aparece no iPhone 5s, sempre alegando "não estar ao alcance". O que perdi?


Screenshots:

Left: AirLocate; Right: Beacon Demo

Esquerda: Local; Direita: Demonstração Do Farol


Actualizar O Mais Recente didFinishLaunchingWithOptions: em Beacon Demo

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Set up Core Location Manager
    self.coreLocation = [[CLLocationManager alloc] init];
    _coreLocation.delegate = self;
    if([self.coreLocation respondsToSelector:@selector(requestAlwaysAuthorization)]) {
        NSLog(@"Core Location requesting always authorization");
        [self.coreLocation requestAlwaysAuthorization];
    }
    if ([UIApplication instancesRespondToSelector:@selector(registerUserNotificationSettings:)]){
        [application registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert|UIUserNotificationTypeBadge|UIUserNotificationTypeSound categories:nil]];
    }

    // Load any previously registered notifications
    [self loadNotificationRegions];

    // Override point for customization after application launch.
    return YES;
}
Author: Raptor, 2015-01-09

1 answers

Se estiver a usar a versão da demonstração do Beacon de aqui, então terá de fazer a modificação equivalente a ela, tal como fez com a aplicação de demonstração do AirLocate. Nenhum dos aplicativos solicita as permissões necessárias adicionadas no iOS 8.

Quando fizer isto, certifique-se que adiciona também um item correspondente no ficheiro Info.plist, tal como descrito aqui.

 2
Author: davidgyoung, 2017-05-23 12:30:42