【问题标题】:Differences between iPhone/iPod Simulator and DevicesiPhone/iPod 模拟器和设备之间的差异
【发布时间】:2011-03-04 05:41:01
【问题描述】:

自从我开始 iPhone/iPod 开发以来,我发现了模拟器和真实设备的反应方式之间的一些差异。也许我会遇到一些其他的差异,我也必须弄清楚,也许其他人还没有在这里遇到这些问题(YET)并且可以从知识中受益,也许你知道一些你本来会遇到的问题/差异很高兴在您花费数小时或数天时间弄清楚到底发生了什么之前早点知道。

这就是我遇到的。

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

    • 这意味着 default.png 或 Icon.png 可以在模拟器中工作,但不能在必须命名为 Default.png 和 icon.png 的设备上工作(如果仍然不能工作,请阅读 this answer
  2. 模拟器有不同的编解码器来播放音频和视频

    • 如果您使用 f.e. MPMoviePlayerController 您可能会在模拟器上播放某些视频,而在设备上它不起作用 (使用 Handbrake->presets->iPhone & iPod Touch 为模拟器和设备创建可播放的视频)。
    • 如果您使用 AudioServicesPlaySystemSound(&soundID) 播放音频,您可能会在模拟器而不是设备上播放声音。 (使用 Audacity 打开您的声音文件,导出为 wav 并在终端中运行 afconvert -f caff -d LEI16@44100 -c 1 audacity.wav output.caf)
  3. 另外还有第二次运行时闪烁的问题,可以通过
    playerViewCtrl.initialPlaybackTime = -1.0;
    在播放结束或每次开始之前。

  4. 模拟器通常要快得多,因为它不模拟硬件而是使用 Mac 资源,因此 f.e. sio2 应用程序(OpenGL、OpenAL 等框架)在模拟器上运行得更好,所有使用更多资源的东西在模拟器上的运行效果明显优于在设备上。

我希望我们可以为此添加更多内容。

【问题讨论】:

标签: iphone video simulator ipod-touch


【解决方案1】:

只是为了澄清你的第一点:

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

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

【讨论】:

  • 严格来说,区分大小写的版本是“HFSX”。
猜你喜欢
  • 1970-01-01
  • 2013-09-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-18
  • 1970-01-01
  • 1970-01-01
  • 2023-03-13
相关资源
最近更新 更多