iPhone/iPod模拟器和设备之间的差异

问题描述:

自从我开始iPhone/iPod开发以来,我遇到了模拟器和实际设备如何反应之间的一些差异。也许我会遇到一些其他的差异,我也必须弄清楚,也许其他人在这里没有遇到这些问题(YET),并且可以从这些知识中获益,也许你知道一些你会遇到的问题/差异在你花了几个小时或几天的时间之前,很高兴知道这件事情是什么。iPhone/iPod模拟器和设备之间的差异

所以这是我碰到的。

  1. 模拟器不区分大小写,设备区分大小写。

    • 这意味着为Default.png或会的icon.png在模拟器工作,但不是他们必须命名为Default.png和的icon.png(如果它仍然没有工作读this answer)的设备
  2. 模拟器有不同的编解码器,如果使用铁来播放音频和视频

    • MPMoviePlayerController你可能在模拟器上播放某些视频,但在设备上它不起作用 (使用Handbrake->预设 - > iPhone & iPod Touch为模拟器和设备创建可播放的视频)。
    • 如果使用AudioServicesPlaySystemSound播放音频(& soundID),您可能会在模拟器上播放声音,但不是设备。 (胆识打开您的音效档,出口为WAV和运行在终端afconvert -f卡福-d LEI16 @ 44100 -c 1 audacity.wav output.caf)
  3. 也有这种闪烁在第二次运行问题这可以通过
    playerViewCtrl.initialPlaybackTime = -1.0来解决;
    无论是在播放结束还是在每个开始之前。

  4. 模拟器大多快得多,因为它不模拟硬件,但使用Mac资源,因此f.e. sio2应用程序(OpenGL,Op​​enAL等框架)在模拟器上运行得更好,所以使用更多资源的所有东西在模拟器中都会比在设备上运行得更好。

我希望我们可以添加一些更多。

+0

重复? http://*.com/questions/380062/iphone-device-vs-iphone-simulator – progrmr 2010-06-16 01:26:15

+0

哦,是的,你说得对。现在做什么 ? – Allisone 2010-06-16 13:02:41

只是为了澄清的第一点:

模拟器不区分大小写,设备是大小写敏感的

作为区分大小写或者没有在这个意义上是不是模拟器的特征。这是底层文件系统的一个特点。设备上的文件系统区分大小写HFS +,而Mac上的文件系统可能不区分大小写(默认情况下)。如果应用程序在区分大小写的HFS +分区上运行,即使在模拟器中运行时,它也会从磁盘加载文件时区分大小写。

+0

好的,总是很好的了解细节 – Allisone 2010-06-15 22:46:42

+0

严格来说,区分大小写的版本是“HFSX”。 – 2010-08-11 13:40:51