iPhone Simulator - Имитация медленного соединения? - PullRequest
104 голосов
/ 07 апреля 2010

Есть ли способ замедлить интернет-соединение с iPhone Simulator, чтобы имитировать, как приложение может реагировать, когда вы находитесь в медленном месте в сотовой сети?

Ответы [ 5 ]

205 голосов
/ 08 декабря 2014

Как установить Apple Network Link Conditioner

Инструкции действительны с 4 ноября 2016 г. - macOS Sierra 10.12.
Предупреждение. Если вы только что обновились до macOS Sierra, убедитесь, что вы установили самую последнюю версию Network Conditioner ( в Дополнительных инструментах для Xcode 8.2 ), иначе завершится сбоем ;то есть, вы включите его, но он ничего не душит и не отбрасывает.

  1. Установите Xcode, если у вас его нет

  2. Откройте XCode и перейдите в XCode ›Открыть инструмент разработчика› Дополнительные инструменты разработчика…

    Screen shot of navigating the menu as described

  3. Загрузить Дополнительные инструменты для Xcode

    Additional IO Tools download link

  4. Откройте загруженный образ диска и дважды щелкните его .prefpane, чтобы установить его.

    pref pane in DMG

    system preferences showing installation prompt

  5. Вот и мы!

    Screen shot of the preference pane

  6. Обязательно поверните егона.Вам нужно выбрать профиль и , чтобы включить сетевой кондиционер с большим переключателем, который должен быть знаком из предварительной панели Time Machine.

    enter image description here

Предостережение

Это не повлияет на localhost, поэтому обязательно используйте промежуточный сервер или компьютер коллеги для симуляции медленных сетевых подключений к API, который вы запускаете самостоятельно.

https://ngrok.com/ может оказаться полезным в этом отношении. *1068*
79 голосов
/ 06 марта 2012

"Для этого есть приложение!";) Apple предоставляет панель настроек «Network Link Conditioner», которая выполняет эту работу достаточно хорошо.

  • для версий Xcode до 4.3, установщик панели можно найти в папке Developer, например, "/Developer/Applications/Utilities/Network Link Conditioner", после установки, если демон не запускается и вы не хотите перезагружать свою машину, просто используйте sudo launchctl load /system/library/launchdaemons/com.apple.networklinkconditioner.plist
  • , если вы уже сделали с папкой Developer, вы можете установить панель какчасть пакета «Hardware IO Tools for Xcode», доступного через раздел дополнительных загрузок Mac Dev Center.

Ссылка на страницу загрузки (вы должны войти под своим Apple ID): https://developer.apple.com/downloads/index.action
(кредиты @nverinaud)

66 голосов
/ 07 апреля 2010

Приложение под названием SpeedLimit

https://github.com/mschrag/speedlimit

Прекрасно работает.

Крис.

0 голосов
/ 02 июня 2011

Я бы сказал, что медленного соединения недостаточно для имитации реального поведения мобильной сети передачи данных - так как здесь также намного больше потеря пакетов, более высокие задержки и больше разорванных соединений.

Вот удобный скрипт для настройки брандмауэра для эмуляции этих параметров:

http://pmilosev -notes.blogspot.com / 2011/02 / КСН-тренажер-тестирование-над-different.html

0 голосов
/ 07 апреля 2010

Нет прямого способа эмулировать медленное соединение, в отличие, скажем, от хорошего эмулятора сетевого соединения, который нравится разработчикам Blackberry. Однако, поскольку соединение вашего симулятора проходит через ваш компьютер - вы можете просто сосредоточиться на замедлении соединения вашего компьютера.

Вы захотите достичь двух вещей (в зависимости от ваших обстоятельств):

  • ограничить пропускную способность
  • увеличьте время ожидания

Может быть, это укажет вам правильное направление:

http://www.macosxhints.com/article.php?story=20080119112509736

Есть также несколько хороших решений с открытым исходным кодом, но я не могу вспомнить их имена.

Этот вопрос может помочь: Как регулировать сетевой трафик для моделирования среды?

...