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:
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;
}
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.