13 ответов:
нет. Приложения могут изменять файлы только в каталоге документов, в своей собственной песочнице. Это для безопасности и простоты установки/удаления. Таким образом, вы можете сделать это только на взломанном устройстве.
предыдущий ответ верен, но если эффект, который вы ищете, заключается в перенаправлении HTTP-трафика для домена на другой IP-адрес, есть способ.
поскольку это технически не отвечает на ваш вопрос, я задал и ответил на вопрос здесь:
нет, вы не можете изменить хост файл в iPad(без джейлбрейка), но можно обойти.
вот мой сценарий:
- Mac OS X, с IP
192.168.2.1, запуск веб-приложения- iPad, устройство, которое вы хотели бы проверить веб-приложение
- Чарльз (для Mac), включает HTTP прокси для вашего iPad
Я собираюсь протестировать веб-приложение, работающее на моем Mac через iPad, но я не могу получить к нему прямой доступ.
в решение работает для меня:
- во-первых, убедитесь, что ваш сервер и iPad находятся в одной локальной сети.
- затем, настроить Чарльз прокси-сервер, в меню "Прокси - > параметры прокси-сервера...", заполните
Port(главным образом8888) и тумблерEnable transparent HTTP proxying.
- настройка прокси-сервера в iPad.
теперь вы можете посетить веб-приложение в iPad.
конечно, вы можете используйте другие прокси-инструменты, такие как кальмаров или лак в Linux, или Саша в Wondows.
самый простой способ сделать это-запустить симулятор iPad с помощью XCode, а затем добавить запись в файл hosts (/etc/hosts) на хост-системе, чтобы указать на ваш тестовый сайт.
Да, вы можете редактировать файл хостов iPad, но вам нужно быть взломанным. Как только вы это сделаете, загрузите Cydia (app market) и получите iFile. Файл hosts находится в папке"/etc / hosts".
Я бы предположил, что вы можете сделать это, установив прозрачный прокси, используя что-то вроде Чарльза и перенаправляя трафик таким образом
мне нужна была та же функциональность, и делать джейлбрейк нет-нет. Одним из решений является размещение собственного DNS-сервера (MaraDNS), перейдите к настройкам wifi в ipad/телефоне и добавьте туда свой собственный DNS-сервер.
весь процесс занял у меня всего 10 минут, и это работает!
1) Скачать MaraDNS
2) Run
mkSecretTxt.exeв качестве администратора3) изменить мина:
ipv4_bind_addresses = "put your public IP Here" timestamp_type = 2 random_seed_file = "secret.txt" csv2 = {} csv2["Simple.Example.com."] = "example.configuration"Добавить файл с названием "
example.configuration" в та же папка, гдеrun_maradns.batесть.4) отредактируйте свой пример.конфигурационный файл:
Simple.Example.com. 10.10.13.13 ~5) отключить все брандмауэры (удобство)
6) запускаем файл "
run_maradns.bat"7) не должно быть никаких ошибок.
8) Добавьте свой DNS-сервер в список, как показано здесь:http://www.iphonehacks.com/2014/08/change-dns-iphone-ipad.html
9) работает!
Если у вас есть свобода выбора имени хоста, то вы можете просто добавить свой хост в службу dynanmic DNS, например dyndns.org. затем вы можете полагаться на обычные механизмы разрешения iPad для разрешения адреса.
Workarond я использую для целей разработки:
- создайте свой собственный прокси-сервер (один из вариантов: Squid на Linux).
- установите файл hosts с вашими доменами.
- установите прокси-сервер на IPAD / IPHONE, и вы можете использовать его с вашими хостами.
вы также можете использовать прокси-сервер на вашем iPhone или iPade через мобильный интернет (3G) с помощью iPhone Mobile proxy generator:
http://iphonesettings.net/mobileproxygenerator.php
просто введите apn вашего оператора (с именем пользователя/паролем apn, если это необходимо) и прокси-сервер, который вы хотите пройти, и нажмите Создать
Я знаю, что это было некоторое время это было опубликовано, но с iOS 7.1, несколько вещей изменились.
до сих пор, если вы разрабатываете приложение, вы должны иметь действительный сертификат SSL, признанный Apple, в противном случае вы получите сообщение об ошибке на вашем iDevice. Больше никаких самозаверяющих сертификатов. Смотрите здесь список:
http://support.apple.com/kb/ht5012
кроме того, если вы здесь, это означает, что вы пытаетесь заставить вас iDevice решить a имя (для вашего сервера https), в среде тестирования или разработки.
вместо использования squid, который является отличным приложением, вы можете просто запустить очень простой DNS-сервер, такой как dnsmasq. Он будет использовать ваш hosts-файл в качестве первой строки разрешения имен, поэтому вы можете в основном обмануть свой iDevice, сказав, что www.blah.com это 192.168.10.10.
файл конфигурации так же прост, как от 3 до 4 строк, и вы даже можете настроить свой внутренний DHCP-сервер, если вы хотеть.
вот мой:
listen-address=192.168.10.35
домен-нужен
bogus-priv
no-dhcp-interface=eth0
local= / localnet/
конечно, вам нужно настроить сеть на вашем устройстве iDevice, чтобы использовать этот DNS (192.168.10.35 в моем случае), или просто начать использовать DHCP с этого сервера в любом случае, после правильной настройки.
кроме того, если dnsmasq не может разрешить имя внутренне, он использует ваш обычный DNS-сервер (например, 8.8.8.8), чтобы разрешить его для вас. Очень простой, элегантный и решил мои проблемы с установкой приложения iDevice в доме.
кстати, решает многие проблемы разрешения имен с обычными Mac (OS X), а также.
теперь, моя тирада: кровавое Яблоко. Обеспечение безопасности устройства не должно включать кастрацию операционной системы или разработчиков.
лучший ответ: Просто добавьте http или https в вашем браузере, IP-адрес, двоеточие и номер порта. Пример: https://123.23.145.67:80


Comments