8

Ho aggiunto CLLocationManager nella mia app utilizzando Swift nel file AppDelegate.startMonitoringSignificantLocationChanges non funziona in swift

Nel file Appdelegate.swift,

import CoreLocation 
@UIApplicationMain 
class AppDelegate: UIResponder, UIApplicationDelegate, CLLocationManagerDelegate { 
var locationManager: CLLocationManager! 

Nel metodo didbecomeActive:

func applicationDidBecomeActive(application: UIApplication) { 
    if((locationManager) != nil) 
    { 
     locationManager.stopMonitoringSignificantLocationChanges() 
     locationManager.delegate = nil 
     locationManager = nil 
    } 
    locationManager = CLLocationManager() 
    locationManager.delegate = self 
    locationManager.desiredAccuracy = kCLLocationAccuracyBest 
    locationManager.activityType = CLActivityType.OtherNavigation 
    locationManager.requestAlwaysAuthorization() 
    locationManager.startMonitoringSignificantLocationChanges() 
} 

Se uso startUpdatingLocation, didUpdateLocations metodo viene chiamato, ma non per startMonitoringSignificantLocationChanges.

Perché non viene chiamato per startMonitoringSignificantLocationChanges. Lo sto testando nel simulatore di ios. Non so come fare il check-in del dispositivo.

+0

possibile duplicato di: http://stackoverflow.com/questions/8682683/can-i-test-significant-change-with-xcode-simulator – adolfosrs

risposta

20

Sta funzionando, ma è davvero difficile innescare cambiamenti significativi nella posizione - di solito accade quando il dispositivo sta cambiando le torri cellulari - Non penso che sia possibile farlo con il simulatore.

Probabilmente dovresti salire su una bicicletta/macchina e viaggiare almeno qualche chilometro.

C'è un trucco è possibile utilizzare, però, che innescherà cambiamenti significativi posizione: la modalità Airplaine

interruttore nel vostro iPhone e si spegne con un paio di secondi intervalli più volte, dovrebbe ingannare il dispositivo a pensare che ha cambiato cella torri e innescare il cambiamento significativo della posizione.

enter image description here

+1

Sì, dovresti percorrere alcuni chilometri - abbastanza per innescare un cambiamento di torre cellulare. –

+0

ok, fammi provare, grazie per la tua risposta +1. :) – NAZIK

+1

ricordati di inviare spam al pulsante dell'aereo: D Dovrebbe dopo un paio di interruttori. –

3

Nel vostro simulatore, goto Debug-> Località-> personalizzato e cambiare posizione, quindi testarlo.