Inhaltsverzeichnis:
Video: How to Check App Store Purchase History on iPhone or iPad 2025
Eine der einfachsten Möglichkeiten, Ihre App von Apple zurückweisen zu lassen, besteht darin, nicht sicherzustellen, dass Sie über eine Internetverbindung verfügen, wenn Ihre App sie benötigt, und daher den Nutzer nicht über die Funktionalität zu informieren. Das erfordert, dass die Verbindung nicht verfügbar ist (oder noch schlimmer, lassen Sie Ihre App nur dort hängen).
Herunterladen des Erreichbarkeits-Beispiels
Apple stellt eine Beispiel-App namens Erreichbarkeit bereit, die zeigt, wie Sie feststellen können, ob Sie eine Internetverbindung haben. So verwenden Sie Code aus diesem wertvollen Beispielprogramm:
-
Laden Sie das Erreichbarkeitsbeispiel von Apple herunter, indem Sie auf Beispielcode klicken.
-
Geben Sie die Erreichbarkeit in das Suchfeld ein.
-
Klicken Sie in den Suchergebnissen auf das Erreichbarkeitsprojekt, und klicken Sie im angezeigten Fenster der iOS-Entwicklerbibliothek auf die Schaltfläche Beispielcode herunterladen.
-
Doppelklicken Sie im Ordner "Downloads" auf den Ordner "Erreichbarkeit", um ihn zu öffnen.
Sie legen Ihren Safari-Download-Ordner in Safari → Einstellungen über die Registerkarte Allgemein fest.
-
Öffnen Sie den inneren Erreichbarkeitsordner und ziehen Sie die Erreichbarkeit. h und Erreichbarkeit. m Dateien in Ihr Projekt.
-
Aktivieren Sie das Kontrollkästchen vor Road Trip im Bereich Zu Zielen hinzufügen.
Stellen Sie sicher, dass Sie die Ordneroption "Objekte in Zielgruppe kopieren" auswählen (sofern dies nicht bereits ausgewählt ist).
Damit Sie diesen Code verwenden können, müssen Sie das SystemConfiguration-Framework hinzufügen. Führen Sie dazu die folgenden Schritte aus:
-
Wählen Sie im Projektnavigator das Projektsymbol (in diesem Fall RoadTrip) oben im Inhaltsbereich des Projektnavigators aus, um den Projekteditor anzuzeigen.
-
Wählen Sie im Popup-Menü "Ziele" direkt unter der Jump-Bar für das Projekt "RoadTrip" aus.
-
Scrollen Sie auf der Registerkarte Buildphasen zu dem Abschnitt Link Binary with Libraries.
-
Erweitern Sie den Abschnitt Binär mit Bibliotheken verknüpfen, wenn er nicht bereits durch Klicken auf das Dreiecksymbol erweitert wurde.
-
Klicken Sie auf die Schaltfläche mit dem Pluszeichen (+) unter der Liste der aktuellen Projektrahmen.
Eine Liste mit Frameworks wird angezeigt.
-
Scrollen Sie nach unten und wählen Sie SystemConfiguration aus. Rahmen.
-
Klicken Sie auf die Schaltfläche Hinzufügen.
Das Framework wird dem Abschnitt "Verknüpfte Frameworks und Bibliotheken" hinzugefügt.
-
Schließen Sie den Abschnitt "Verknüpfte Frameworks und Bibliotheken".
Hinzufügen des Codes zur Überprüfung der Erreichbarkeit
Der Ort, an dem Sie überprüfen müssen, ob Sie Zugang zum Internet haben, ist beim Starten richtig. Die Methode dafür ist die Anwendungsdelegatenprotokoll-Methodenanwendung: didFinishLaunchingWithOptions:.
Sie müssen auch die Erreichbarkeit angeben.h-Datei, um die Erreichbarkeit nutzen zu können. Fügen Sie daher den fettgedruckten Code in Listing 8-1 am Anfang von AppDelegate hinzu. m Datei und die Anwendung: didFinishLaunchingWithOptions: method.
#import "AppDelegate. H" #import "Erreichbarkeit. H" @implementation AppDelegate - (BOOL) Anwendung: (UIApplication *) Anwendung didFinishLaunchingWithOptions: (NSDictionary *) launchOptions {if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {UISplitViewController * splitViewController = (UISplitViewController *) selbst. Fenster. rootViewController; UINavigationController * navigationController = [splitViewController. viewControllers letztesObjekt]; SplitViewController. Delegate = (ID) Navigationssteuerung. topViewController;} NetworkStatus networkStatus = [[Erreichbarkeit ErreichbarkeitForInternetConnection] currentReachabilityStatus]; if (networkStatus == NotReachable) { UIAlertView * alert = [[UIAlertView-Zuordnung] initWithTitle: @ "Netzwerk nicht verfügbar" Meldung: @ "RoadTrip erfordert eine Internetverbindung" delegieren: nil cancelButtonTitle: @ "OK" otherButtonTitles: Null]; [Alarmanzeige]; } gibt YES zurück;}
Ignoriere den Code, der vorerst nicht fettgedruckt ist.
Im fett gedruckten Abschnitt erstellen Sie zunächst ein Erreichbarkeitsobjekt und senden ihm dann die currentReachabilityStatus-Nachricht:
NetworkStatus networkStatus = [[Erreichbarkeits-ErreichbarkeitForInternetConnection] currentReachabilityStatus];
reachabilityForInternetConnection ist ein Initialisierungsprogramm, das ein Erreichbarkeitsobjekt erstellt, das die Verfügbarkeit einer Internetverbindung überprüft. Erreichbarkeit hat viel Funktionalität, aber alles was Sie wirklich interessieren ist, ob Sie das Internet erreichen können.
Überprüfen Sie als Nächstes, ob Sie Netzwerkzugriff haben:
if (networkStatus == NotReachable) {
Wenn Sie keinen Netzwerkzugriff haben, senden Sie eine Warnung:
UIAlertView * alert = [[UIAlertView alloc] initWithTitle: @ Nachricht "Network Unavailable": @ "RoadTrip erfordert eine Internetverbindung" delegieren: nil cancelButtonTitle: @ "OK" otherButtonTitles: nil]; [Alarmanzeige];
Dies ist die Standardmethode zum Konfigurieren und Anzeigen einer Warnung. Sie haben die verschiedenen (selbsterklärenden) Parameter eingegeben, die für die Initialisierungsmethode erforderlich sind. Auf diese Weise konfiguriert, verfügt der Alarm über eine einzige Schaltfläche.
Die show-Nachricht an das Alarmobjekt bewirkt, dass die Warnung im Fenster angezeigt wird, und wenn der Benutzer auf OK tippt, wird die Warnung verworfen.
Wenn Sie andere Schaltflächen hinzugefügt haben, um dem Benutzer eine Auswahl von Antworten zu geben, müssten Sie das Objekt die Warnung (in diesem Fall AppDelegate) als UIAlertViewDelegate bekannt geben, den Delegate-Parameter an self zuweisen und die Titel der anderen Schaltflächen unter Verwendung einer Liste ohne Ende. Sie müssten dann die Methode alertView: clickedButtonAtIndex: im Delegaten implementieren.
Indem Sie den Code untersuchen, können Sie leicht herausfinden, wie Sie andere Netzwerkstatusinformationen erhalten.
Wenn Sie die App jetzt ausführen und entweder Ihre Internetverbindung auf dem Computer deaktivieren (wenn Sie den Simulator ausführen) oder den Flugzeugmodus aktivieren oder Ihre WLAN-Verbindung auf dem Gerät deaktivieren, wird diese Nachricht angezeigt…(Was zählt, ist nicht das Verhalten im Simulator, sondern später das Verhalten auf einem Gerät.)