С тех пор, как я начал разработку iPhone / iPod, я столкнулся с некоторыми различиями между тем, как симулятор и как реагирует реальное устройство. Может быть, я столкнусь с некоторыми другими различиями, которые мне придется выяснить, может быть, другие люди не встречали этих проблем здесь (ДА) и могут извлечь выгоду из знаний, и, возможно, вы знаете некоторые проблемы / различия, которыми вы были бы рад узнать об этом раньше, прежде чем вы потратили несколько часов или дней, чтобы выяснить, что, черт возьми, происходит.
Так вот что я наткнулся.
Симулятор не чувствителен к регистру, Устройства чувствительны к регистру.
- Это означает, что default.png или Icon.png будут работать в симуляторе, но не на устройстве, где они должны называться Default.png и icon.png (если он все еще не работает, прочитайте этот ответ )
Симулятор имеет разные кодеки для воспроизведения аудио и видео
- Если вы используете f.e. MPMoviePlayerController Вы можете воспроизводить определенное видео на симуляторе, в то время как на устройстве оно не будет работать
(используйте Handbrake-> presets-> iPhone & iPod Touch для создания воспроизводимых видео для симулятора и устройства).
- Если вы воспроизводите аудио с AudioServicesPlaySystemSound (& soundID), вы можете услышать звук на симуляторе, но не на устройстве. (используйте Audacity, чтобы открыть свой звуковой файл, экспортируйте как wav и запустите afconvert -f caff -d LEI16 @ 44100 -c 1 audacity.wav output.caf в терминале)
Также имеется проблема с миганием при втором запуске, которая может быть решена с помощью
playerViewCtrl.initialPlaybackTime = -1.0;
либо в конце игры, либо перед каждым началом.
Симулятор в основном намного быстрее, потому что он не моделирует аппаратное обеспечение, а использует ресурсы Mac, поэтому, например, Приложения sio2 (OpenGL, OpenAL и т. д.) работают намного лучше на симуляторе, и все, что использует больше ресурсов, будет работать заметно лучше на симуляторе, чем на устройстве.
Я надеюсь, мы можем добавить еще кое-что.