iCulture forum | iPhone, iPad,  iPod touch, Apple TV en iOS

iCulture forum | iPhone, iPad, iPod touch, Apple TV en iOS (https://forum.iculture.nl/)
-   Ontwikkelen voor iOS (https://forum.iculture.nl/f133/development/f58/ontwikkelen-voor-ios/)
-   -   Beste manier om netwerk verbinding te checken? (https://forum.iculture.nl/f133/development/f58/ontwikkelen-voor-ios/35109-beste-manier-om-netwerk-verbinding-checken.html)

danielpunt 07-06-09 15:58

Beste manier om netwerk verbinding te checken?
 
Voor mijn applicatie is altijd een internet verbinding nodig, en ik kan ook geen informatie lokaal opslaan want heel mijn applicatie draait om een MapView en de huidige locatie van de gebruiker.

Nu heb ik op een forum een extend gevonden voor UIApplication waar mee je kan controleren of er een internet of Wi-Fi verbinding is. Dit doe ik in de applicationDidFinishLaunching: method van mijn AppDelegate. Die extend voegt een paar class methods toe aan UIApplication die een host op zoeken en er op die manier achter komen dat er verbinding is of niet.

Het nadeel is wel dat het opstarten van de applicatie wat lang duurt. Het kan ook zo zijn dat. Het kan ook nog zo zijn dat er wel verbinding met internet is, maar dat de webservice waar van ik gebruik maak er uit ligt.

Is er een manier om er achter te komen of de iPhone in vliegtuigmodus is of een andere methode om de internet verbinding te controleren?

Grooviee 07-06-09 22:41

Ik maak gebruik van het Reachability voorbeeld van Apple(http://developer.apple.com/iphone/library/samplecode/Reachability/). Daarmee kan je zelf een hostname ingeven en die checkt dan de internetverbinding. Met mijn applicatie heb ik geen last dat het laden lang duurt.

Om het te gebruiken moet je Reachability.h en Reachability.m in je eigen project importeren. Om vervolgens te controleren op verbinding, gebruik je de volgende code:

Code:

[[Reachability sharedReachability] setHostName:@"HOSTNAME"];

//heb je uberhaubt een internetverbinding
[[Reachability sharedReachability] internetConnectionStatus];   

//Is de host bereikbaar
[[Reachability sharedReachability] remoteHostStatus];

//heb je een Wi-Fi-verbinding
[[Reachability sharedReachability] localWi-FiConnectionStatus];



Alle tijden zijn GMT +2. Het is nu 06:10.