/ / Jak zarejestrować się na „Aplikacje korzystające z lokalizacji” na komputerach Mac - macos, core-location

Jak zarejestrować się na „Aplikacje korzystające z lokalizacji” na komputerach Mac - macos, core-location

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

wprowadź opis obrazu tutaj

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 № 1

Czy 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>