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

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

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

  • CAShapeLayer не нарисован в симуляторе в режиме сетчатки iPad
  • Можно ли записывать и воспроизводить аудио в iPhone-симуляторе?
  • Симулятор iOS5 на XCode5-GM
  • Стратегии «реалистичного» тестирования условий низкой памяти в iOS Simulator
  • Swift не поддерживает SDK «iPhoneSimulator9.3.sdk»?
  • iOS симулятор сборки для Facebook утверждения утверждения аварии
  • Ошибка компиляции Xcode 4.6 zXing после обновления Xcode (4H127)
  • Ошибка «dyld: Library not loaded»
  • Xcode - unit-tests: тестовый сеанс завершен (-1) без проверки
  • Дублировать символы только при создании для simlator
  • Местоположение симулятора iOS не работает
  • Interesting Posts
    Давайте будем гением компьютера.