Ich bezweifle, dass dies ohne umfangreiche Jailbreaking möglich ist, aber ist es überhaupt möglich, die Hosts-Datei des iPad (oder eines iOS-Geräts) zu bearbeiten?
Nein. Apps können nur Dateien im Dokumentenverzeichnis in ihrer eigenen Sandbox ändern. Dies dient der Sicherheit und erleichtert die Installation/Deinstallation. Sie können dies also nur auf einem Gerät mit Jailbreak durchführen.
Die vorherige Antwort ist korrekt, aber wenn der gesuchte Effekt darin besteht, den HTTP-Verkehr für eine Domain auf eine andere IP umzuleiten, gibt es einen Weg.
Da Ihre Frage technisch nicht beantwortet wird, habe ich die Frage hier gestellt und beantwortet:
Nein, Sie können die Host-Datei des iPads nicht ändern (ohne Jailbreak), können dies jedoch umgehen.
Hier ist mein Szenario:
192.168.2.1
, Auf dem eine Web-App ausgeführt wirdIch werde die Web-App testen, die auf meinem Mac über das iPad ausgeführt wird, kann jedoch nicht direkt darauf zugreifen.
Die Lösung funktioniert bei mir:
Port
(meistens 8888
) Ein und schalten Sie Enable transparent HTTP proxying
Um.Jetzt können Sie Ihre Web-App auf dem iPad besuchen.
Natürlich können Sie auch andere Proxy-Tools wie Squid oder Varnish in Linux oder Fiddler in Wondows verwenden.
Der einfachste Weg, dies zu tun, besteht darin, einen iPad-Simulator mit XCode auszuführen und dann einen Eintrag in der Host-Datei (/ etc/hosts) auf dem Host-System hinzuzufügen, um auf Ihre Test-Site zu verweisen.
Ich würde mir vorstellen, dass Sie dies tun könnten, indem Sie einen transparenten Proxy einrichten und so etwas wie Charles verwenden und den Datenverkehr auf diese Weise umleiten
Ich brauchte die gleiche Funktionalität und Jailbreak ist no-no. Eine Lösung besteht darin, sich selbst als DNS-Server zu hosten ( MaraDNS ), zu Ihren WLAN-Einstellungen im iPad/Telefon zu wechseln und dort Ihren benutzerdefinierten DNS-Server hinzuzufügen.
Der ganze Vorgang hat nur 10 Minuten gedauert und funktioniert!
1) Laden Sie MaraDNS herunter
2) Führen Sie mkSecretTxt.exe
als Administrator
3) Ändere die mararc
Datei, meine ist:
ipv4_bind_addresses = "put your public IP Here"
timestamp_type = 2
random_seed_file = "secret.txt"
csv2 = {}
csv2["Simple.Example.com."] = "example.configuration"
Datei mit dem Namen "example.configuration
"in denselben Ordner, in dem run_maradns.bat
ist.
4) Bearbeiten Sie Ihre example.configuration-Datei:
Simple.Example.com. 10.10.13.13 ~
5) Deaktiviere alle Firewalls (Bequemlichkeit)
6) Führen Sie die Datei "run_maradns.bat
"
7) Es sollte keine Fehler geben.
8) Fügen Sie Ihren DNS-Server zur Liste hinzu, wie hier gezeigt: http://www.iphonehacks.com/2014/08/change-dns-iphone-ipad.html
9) Funktioniert!
Ja, Sie können die iPad-Hosts-Datei bearbeiten, müssen jedoch über einen Jailbreak verfügen. Laden Sie anschließend Cydia (App Market) herunter und laden Sie iFile herunter. Die hosts-Datei befindet sich in "/ etc/hosts".
Ich weiß, es ist schon eine Weile her, dass dies gepostet wurde, aber mit iOS 7.1 haben sich einige Dinge geändert.
Wenn Sie eine App entwickeln, MÜSSEN Sie bisher ein gültiges SSL-Zertifikat haben, das von Apple erkannt wird. Andernfalls wird auf Ihrem iDevice eine Fehlermeldung angezeigt. Keine selbstsignierten Zertifikate mehr. Sehen Sie hier eine Liste:
http://support.Apple.com/kb/ht5012
Wenn Sie hier sind, bedeutet dies außerdem, dass Sie versuchen, iDevice dazu zu bringen, einen Namen (für Ihren https-Server) in einer Test- oder Entwicklungsumgebung aufzulösen.
Anstatt Squid zu verwenden, was eine großartige Anwendung ist, könnten Sie einfach einen sehr einfachen DNS-Server wie dnsmasq ausführen. Es wird Ihre Hosts-Datei als erste Zeile der Namensauflösung verwenden, so dass Sie Ihr iDevice dort grundsätzlich zum Narren halten können und sagen, dass www.blah.com 192.168.10.10 ist.
Die Konfigurationsdatei besteht aus 3 bis 4 Zeilen, und Sie können sogar den internen DHCP-Server konfigurieren, wenn Sie möchten.
Hier ist mein:
listen-Adresse = 192.168.10.35
domain benötigt
scheinpriv
no-dhcp-interface = eth0
local =/localnet /
Natürlich müssen Sie das Netzwerk auf Ihrem iDevice konfigurieren, um diesen DNS zu verwenden (192.168.10.35 in meinem Fall), oder Sie müssen einfach DHCP von diesem Server aus verwenden, nachdem Sie es richtig konfiguriert haben.
Wenn dnsmasq den Namen nicht intern auflösen kann, verwendet es Ihren regulären DNS-Server (wie 8.8.8.8), um ihn für Sie aufzulösen. SEHR einfach, elegant und löste meine Probleme mit der internen Installation der iDevice-App.
Übrigens, löst viele Probleme mit der Namensauflösung auch bei normalen Macs (OS X).
Nun, mein Scherz: verdammter Apfel. Das Sichern eines Geräts sollte nicht das Kastrieren des Betriebssystems oder der Entwickler umfassen.
Sie können auch einen Proxyserver auf Ihrem iPhone oder iPade über das mobile Internet (3G) mithilfe eines iPhone Mobile-Proxy-Generators verwenden:
http://iphonesettings.net/mobileproxygenerator.php
Geben Sie einfach die APN Ihres Mobilfunkanbieters (ggf. mit APN-Benutzername/Passwort) und den Proxy-Server ein, den Sie durchlaufen möchten, und tippen Sie auf "Generieren"
Workarond verwende ich für Entwicklungszwecke:
Wenn Sie den Hostnamen frei wählen können, können Sie Ihren Host einfach einem dynamischen DNS-Dienst wie dyndns.org hinzufügen. Dann können Sie sich auf die normalen Auflösungsmechanismen des iPad verlassen, um die Adresse aufzulösen.