Gram z systemem pozycjonowania Wi-Fi (WPS) na komputerze Mac.
Próba określenia najbardziej dokładnego możliwego pozycjonowania. Zauważyłem, że aplikacje, takie jak Mapy, rejestrują się w powiadomieniu o lokalizacji systemu operacyjnego
Jednak mój kod nie wydaje się generować tego efektu,
- (void)startStandardUpdates
{
// Create the location manager if this object does not
// already have one.
if (nil == locationManager)
locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.desiredAccuracy = kCLLocationAccuracyBestForNavigation;
// Set a movement threshold for new events.
locationManager.distanceFilter = 1; // meters
[locationManager startUpdatingLocation];
}
Czy czegoś brakuje?
Odpowiedzi:
0 dla odpowiedzi № 1Czy Twoja aplikacja jest piaskowana?
Jeśli tak, musisz włączyć uprawnienie „Dane aplikacji” -> „Lokalizacja” w zakładce „Możliwości” swojego celu.
W przeciwnym razie CLLocationManager
cicho się nie uruchamia.
Inną interesującą kwestią jest to, że twoja aplikacja pojawia się tylko na tej liście, gdy CLLocationManager
faktycznie działa. Powołanie stopUpdatingLocation
wyrejestrowuje aplikację z agenta lokalizacji.
Minimalny plik uprawnień dla aplikacji OS X używającej lokalizacji głównej wygląda następująco:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.personal-information.location</key>
<true/>
</dict>
</plist>