Innholdsfortegnelse:
Video: How great leaders inspire action | Simon Sinek 2025
En av de enkleste måtene å få appen din avvist av Apple, er å unngå å forsikre deg om at du har en Internett-tilkobling når appen din trenger det, og derfor ikke informerer brukeren om at funksjonaliteten som krever at tilkoblingen ikke vil være tilgjengelig (eller enda verre, få appen din bare å henge der).
Nedlasting av Reachability-prøven
Apple gir en prøveapp med navnet Reachability som viser hvordan du avgjør om du har en Internett-tilkobling. Slik bruker du kode fra det verdifulle eksempelprogrammet:
-
Last ned Reachability-prøven fra Apple ved å klikke Eksempelkode.
-
Type Reachability i søkefeltet.
-
Klikk på Reachability-prosjektet i søkeresultatene, og i vinduet iOS Developer Library som vises, klikker du på knappen Last ned prøvekode.
-
I mappen Nedlastinger, dobbeltklikk mappen Reachability for å åpne den.
Du angir Safari-nedlastingsmappen din i Safari → Innstillinger ved hjelp av kategorien Generelt.
-
Åpne mappen for indre nåbarhet, og dra nåbarheten. h og Reachability. m filer inn i prosjektet ditt.
-
Merk avkrysningsboksen foran veikryss i delen Legg til mål.
Pass på å velge Kopiere elementer i destinasjonsgruppens mappevalg (hvis den ikke allerede er valgt).
For at du skal kunne bruke denne koden, må du legge til rammeverket for systemkonfigurasjon. For å gjøre dette, følg disse trinnene:
-
I prosjektnavigatoren velger du prosjektikonet (i dette tilfellet RoadTrip) øverst i Project Navigator Content-området for å vise Prosjektredigereren.
-
Velg veibeskrivelse i mål-hurtigmenyen like under hoppefeltet for prosjektet.
-
På flippen Byggfaser ruller du ned til delen Binary med biblioteker.
-
Utvid lenken Binær med biblioteksavsnitt hvis den ikke allerede er utvidet ved å klikke på trekanten.
-
Klikk på + (pluss tegn) knappen under listen over gjeldende prosjektrammer.
En liste med rammer vises.
-
Bla ned og velg SystemConfiguration. rammeverk.
-
Klikk på Legg til-knappen.
Du ser rammeverket lagt til i Lenkede rammer og biblioteker.
-
Lukk sammenkoblede rammer og biblioteker.
Legge til koden for å sjekke om det er tilgjengelig
Stedet for å sjekke om du har tilgang til Internett, er riktig når du starter opp. Metoden for å gjøre det er app delegate protokoll metode søknad: didFinishLaunchingWithOptions:.
Du må også inkludere Reachability.h-fil for å kunne bruke Reachability, så legg til den dristige koden i Liste 8-1 til begynnelsen av begge AppDelegate. m-fil og søknaden: didFinishLaunchingWithOptions: metode.
#import "AppDelegate. H" #import "Reachability.h" @implementation AppDelegate - (BOOL) søknad: (UIApplication *) søknad didFinishLaunchingWithOptions: (NSDictionary *) launchOptions {if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {UISplitViewController * splitViewController = (UISplitViewController *) selv. vindu. rootViewController; UINavigationController * navigationController = [splitViewController. viewControllers lastObject]; splitViewController. delegere = (id) navigasjonskontrolleren. topViewController;} NetworkStatus networkStatus = [[Reachability reachabilityForInternetConnection] currentReachabilityStatus]; hvis (networkStatus == NotReachable) { UIAlertView * alarm = [[UIAlertView-tildeling] initWithTitle: @ "Nettverk Utilgjengelig" melding: @ "RoadTrip krever en Internett-tilkobling" delegat: null cancelButtonTitle: @ "OK" otherButtonTitles: null]; [varselvisning]; } returnér JA;}
Ignorer koden for tiden ikke i fet skrift.
I hovedfetrukket delen begynner du ved å opprette et Reachability-objekt og deretter sende det CurrentReachabilityStatus-meldingen:
NetworkStatus networkStatus = [[Reachability reachabilityForInternetConnection] currentReachabilityStatus];
reachabilityForInternetConnection er en initialiserer som lager et Reachability-objekt som kontrollerer tilgjengeligheten av en Internett-tilkobling. Reachability har mye funksjonalitet, men alt du virkelig bryr deg om akkurat nå, er om du kan nå internett.
Hvis du ikke har nettverksadgang, legger du inn et varsel:
UIAlertView * alert = [if (networkStatus == NotReachable) {
[UIAlertView alloc] initWithTitle: @ "Nettverk Utilgjengelig" melding: @ "RoadTrip krever en Internett-tilkobling" delegat: null annullerButtonTitle: @ "OK" otherButtonTitles: null]; [varslingsutstilling];
Dette er standard måten å konfigurere og deretter vise et varsel. Du har fylt ut de ulike (selvforklarende) parametrene som kreves av initialiseringsmetoden. Konfigurert på denne måten vil varselet ha en enkelt knapp.
Vismeldingen til varselobjektet gjør at varselet vises i vinduet, og når brukeren tapper OK, blir varselet avvist.
Hvis du hadde lagt til andre knapper for å gi brukeren et valg av svar, ville du måtte gjøre objektet å legge varselet (AppDelegate, i dette tilfellet) en UIAlertViewDelegate, tilordnet delegatparameteren til seg selv, og lagt til tittel på de andre knappene ved hjelp av en null terminert liste. Du ville da trenge å implementere alertView: clickedButtonAtIndex: metoden i delegaten.
Ved å undersøke koden kan du enkelt finne ut hvordan du får annen nettverksstatusinformasjon du vil ha.
Hvis du kjører appen nå, og enten slår av Internett-tilkoblingen din på datamaskinen (hvis du kjører simulatoren) eller slår på Flymodus eller slår av Wi-Fi-tilkoblingen på enheten, ser du denne meldingen.(Det som betyr noe er ikke atferden på simulatoren, men senere atferden på en enhet.)
