【发布时间】:2011-03-04 05:41:01
【问题描述】:
自从我开始 iPhone/iPod 开发以来,我发现了模拟器和真实设备的反应方式之间的一些差异。也许我会遇到一些其他的差异,我也必须弄清楚,也许其他人还没有在这里遇到这些问题(YET)并且可以从知识中受益,也许你知道一些你本来会遇到的问题/差异很高兴在您花费数小时或数天时间弄清楚到底发生了什么之前早点知道。
这就是我遇到的。
-
模拟器不区分大小写,设备区分大小写。
- 这意味着 default.png 或 Icon.png 可以在模拟器中工作,但不能在必须命名为 Default.png 和 icon.png 的设备上工作(如果仍然不能工作,请阅读 this answer)
-
模拟器有不同的编解码器来播放音频和视频
- 如果您使用 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 资源,因此 f.e. sio2 应用程序(OpenGL、OpenAL 等框架)在模拟器上运行得更好,所有使用更多资源的东西在模拟器上的运行效果明显优于在设备上。
我希望我们可以为此添加更多内容。
【问题讨论】:
-
哦,是的,你是对的。现在该怎么办?
标签: iphone video simulator ipod-touch