Как на самом деле устройство для iOS-устройства и симулятора отличается?

Поскольку симулятор iOS является симулятором, зачем мне его специально строить? Не является ли смысл симулятора, что он запускает настоящий код в каком-то VM / sandbox?

Итак, каковы фактические различия в том, как работает работа с устройством / симулятором, и как отличаются результирующие встроенные приложения?

3 Solutions collect form web for “Как на самом деле устройство для iOS-устройства и симулятора отличается?”

Приложение, выполняемое изначально на устройстве iOS, представляет собой программу ARM. Однако приложение, работающее в iOS Simulator, представляет собой обычную 32-битную (i386) программу Mac OS X. Другими словами, симулятор не моделирует устройство iOS до уровня аппаратного обеспечения. Он обеспечивает верную копию среды iOS, переопределенную для запуска на Mac.

В сборке симулятора используется набор инструкций i386, так как это используется вашим Mac.

Когда вы создаете устройство iOS, вы создаете либо для наборов команд armv6 или armv7.

Точка симулятора – это то, что вы можете быстро провести тестирование на своем Mac, без использования устройства.

Чтобы узнать больше о наборах инструкций: http://en.wikipedia.org/wiki/Instruction_set

Симулятор и устройство должны работать одинаково с одним и тем же кодом, тем не менее, есть несколько проблем, на которые следует обратить внимание.

  1. Симулятор не может запускать все функциональные возможности, которые может выполнять устройство, например, симулятор не взаимодействует с камерой, данных GPS нет (но вы можете установить фиксированное местоположение из параметров), и есть несколько других вещей по этим линий.

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

Хорошей практикой было бы тестирование и развитие в основном на симуляторе, когда ваш код и стабильный и работающий как планируемый – пришло время протестировать его на самом устройстве для выступлений и других проблем, специфичных для устройства.

Я могу подробнее рассказать об этой теме, но это быстрый ответ на ваш вопрос.

  • Как вы можете перезагрузить ViewController после отклонения модально представленного контроллера представления в Swift?
  • Наличие UITextField изменяет URL веб-просмотра
  • Генерация файлов gcda для просмотра покрытия кода из XCTests в IOS с помощью Jenkins
  • Как сделать Ad-Hoc развертывание ipa-файла на моем iPhone
  • Как использовать изображение 360 как skybox в SceneKit?
  • Создание случайного экрана по умолчанию на iOS
  • UISwipeGestureRecognizer - дополнительный аргумент 'target' в вызове для проекта Archive, но не для проекта Build
  • Загрузка данных PHASset FAST.
  • Неисправность, требующая модуля изображения в React Native
  • Как я могу выполнить свои тесты производительности более десяти раз?
  • Быстрая справка для пользовательской функции в ios
  • PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.