Trinn 1 Opprette prosjektet

Dette er den fjerde og siste delen av serien på IOS Multitasking. I dag skal vi dekke bakgrunnsbasis. Akkurat som iOS multitasking-veiledningene i denne serien, er denne funksjonen enkel og enkel å implementere. Så la oss starte!

Trinn 1: Opprette prosjektet

Først opprett et prosjekt med Visbasert applikasjonsmal. Navngi prosjektet BackgroundTracker og slå av Unit Tests.

Gå nå til målinnstillingene, og gå til flippen Byggfaser.

I delen "Link binær med biblioteker" legger du til CoreLocation Framework.

Nå, under Supporting Files, går du til BackgroundTrack-Info.plist og legger til en ny linje med nøkkelen til nødvendige bakgrunnsmodus. Det bør bli en matrise. Åpne arrayet og for element 0 angir verdien for nøkkelen til App-registreringer for lokaliseringsoppdateringer.

Trinn 2: Koding av brukergrensesnittet

Nå går du inn i prosjektlinjebjelken og åpner BackgroundTrackerViewController.h. På toppen, under #import , legg til følgende linje:

 #importere 

Til høyre for UIViewController-underklassdeklarasjonen legger du til følgende linje:

 

Deretter legger du til følgende kode under @face-deklarasjonen (rett under linjen du nettopp har lagt til CLLocationManagerDelegate):

 CLLocationManager * locationManager; IBOutlet UIButton * startTrackingButton; IBOutlet UILabel * alertLabel;

Deretter legger du til disse linjene under den nedre lukkebøylen:

 @property (nonatomic, behold) CLLocationManager * locationManager; @property (nonatomic, behold) IBOutlet UIButton * startTrackingButton; @property (nonatomic, behold) IBOutlet UILabel * alertLabel; - (IBAction) startTracking: (id) avsender;

Din .h-fil bør like følgende.

 #importere  #importere  @interface BackgroundTrackerViewController: UIViewController  CLLocationManager * locationManager; IBOutlet UIButton * startTrackingButton; IBOutlet UILabel * alertLabel;  @property (nonatomic, behold) CLLocationManager * locationManager; @property (nonatomic, behold) IBOutlet UIButton * startTrackingButton; @property (nonatomic, behold) IBOutlet UILabel * alertLabel; - (IBAction) startTracking: (id) avsender; @slutt

Trinn 3: Oppsett grensesnittet XIB

Åpne nå BackgroundTrackerViewController.xib. Først, dra ut en UIButton til midten av grensesnittet slik at de blå retningslinjene er i kryssform. Deretter går tilkoblingsinspektøren. Dra touchUpInside-handlingen til filens eier og velg startTracking :. Dra deretter referansestikket til filens eier og velg startTrackingButton. Dra nå en UILabel og plasser den over UIButton. Angi bredden for å være hele skjermen og sett teksten for å si "Kan ikke finne plassering" (uten anførselstegn). Deretter i Egenskapsinspektøren må du merke avkryssingsboksen Skjult. Deretter går du til tilkoblingsinspektøren. Dra deretter referansestikket til filens eier og velg alarmLabel.

Trinn 4: Konfigurer stedet Tracker

Gå nå og åpne LocationTrackerViewController.m. Under linjen @implementation legger du til følgende to linjer med kode:

 @synthesize startTrackingButton; @synthesize locationManager; @synthesize alertLabel;

Nå i dealloc: metoden legger du til følgende kodelinjer under [super dealloc]; linje.

 [locationManager release]; [startTrackingButton release]; [alertLabel release];

Legg nå følgende kodelinjer til viewDidLoad: under [super viewDidLoad]; linje.

 locationManager = [[CLLocationManager alloc] init]; [locationManager setDelegate: self]; // Bare gjelder når du er i forgrunnen, ellers er det svært viktige endringer [locationManager setDesiredAccuracy: kCLLocationAccuracyBest];

Og under @synthesize erklæringene legger du til følgende metode:

 - (IBAction) startTracking: (id) avsender [locationManager startUpdatingLocation]; 

Deretter over startTracking: -metoden legger du til CLLocatioManager-delegeringsmetodene (kode nedenfor).

 - (ugyldig) locationManager: (CLLocationManager *) manager gjordeUppdatertToLocation: (CLLocation *) newLocation fromLocation: (CLLocation *) oldLocation CLLocationCoordinate2D currentCoordinates = newLocation.coordinate; [alertLabel setText: @ "Location has been found"]; [alertLabel setHidden: NO]; NSLog (@ "Angitt ny plassering med koordinatene Latitude:% f Lengdegrad:% f", nåværendeCoordinates.latitude, currentCoordinates.longitude);  - (ugyldig) locationManager: (CLLocationManager *) manager didFailWithError: (NSError *) feil NSLog (@ "Kan ikke starte lokaliseringsleder. Feil:% @", [feilbeskrivelse]); [alertLabel setHidden: NO]; 

Wrap Up

Som de foregående tre er bakgrunnsstedet ekstremt enkelt å implementere. Hvis du trenger hjelp eller bare ha et nyttig tips, vennligst kommenter nedenfor.