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

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

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

Приложение, выполняемое изначально на устройстве 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. Симулятор может использоваться для проверки вашего кода и функциональности намного быстрее, чем сброса кода на устройстве во время разработки, тем не менее, симулятор использует память вашего компьютера и процессор, что означает, что он не отражает производительность на реальном устройстве, скорости и памяти мудрый.

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

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

  • Отладочное приложение с iOS 4.0 Simulator на iOS 5 SDK
  • Почему я не могу создать некоторые симуляторы iOS?
  • Ionic AngularJS Facebook, как кнопка для страницы Facebook
  • iOS Simulator слишком большой
  • Неверное состояние устройства - ошибка симулятора Xcode / iOS
  • Как запустить симулятор ios для ui Тест автоматизации на jenkins
  • Приложение ведет себя по-другому на симуляторе iPhone 5.1 и реальном iPhone 4 с iOS 5.1
  • Можно ли запустить valgrind на iOS-симуляторе и устройстве?
  • есть ли какой-либо элемент управления, например treeview в xcode? и если это возможно, дайте мне пример
  • Могу ли я безопасно удалить содержимое каталога ~ / Library / Application Support / iPhone Simulator / 6.1 / tmp?
  • Симулятор работает в режиме масштабирования для iPhone 6 Plus?
  • Давайте будем гением компьютера.