0

我最近拿到了 iPhone 5,我在想是否可以丢弃我的旧 iPhone 4。如果应用程序具有相同的 iOS 版本,是否有可能无法在不同的设备上运行?

4

2 回答 2

3

鉴于它们具有相同的 ios 版本,应用程序是否有可能无法在不同的设备上运行?

是的。它们有不同的硬件,这意味着它至少会有不同的行为,并且在特定硬件上总是存在操作系统错误的可能性。我想到了几件事:

  • RAM: iPhone 5 大约有 1 GB,iPhone 4 有 512 MB,3GS 有 256 MB。在 iPhone 3GS 上被杀死的内存密集型应用程序可能在 iPhone 5 上运行良好。
  • GPU 性能: iPhone 5 拥有更强大的 GPU;在 iPhone 5 上看起来不错的东西在 iPhone 4 上可能会慢得令人无法接受。
  • CPU 性能:速度有所提升,架构也有所提升(armv7svs armv7),但最大的不同是 iPhone 5 有两个内核,这意味着它可以在后台线程上进行大量处理,而不会显着影响 UI 线程.
  • 相机:如果您使用AVCaptureSession/AVCaptureVideoDataOutput和朋友,请期待在不同设备上的不同行为。最明显的是,iPhone 5 支持 1080p 视频,而 iPhone 4 仅支持 720p,但历史上也存在许多差异:iPhone 3G 仅正确支持2vuy/BGRA而所有较新的设备都支持420v/ 420f/ BGRA。运行 4.1 或 4.2 的 3GS 也有一个错误(我忘记了),请求420v会导致挂起,但不设置格式会导致它默认为420v并工作。

您还应该在多个操作系统版本上进行测试(理想情况下是所有受支持的操作系统/设备组合,除非这有点贵)。

也就是说,除非您使用仅存在于设备上的功能,否则大多数情况下您都可以使用模拟器。

于 2013-03-10T01:13:13.120 回答
0

根据此处发布的问题数量,最大的可能问题是确保您的用户界面在两个不同尺寸的屏幕上正确呈现。

如果您在真正的 iPhone 5 上进行测试,并且您还使用 3.5" iPhone 模拟器测试您的用户界面,我认为您是相当安全的。

tl; dr - 如果您将模拟器用于另一个真实设备,那么您可以安全地拥有一个真实设备。

更新:我想我应该指出,正如其他人所说,更多的设备更好。这实际上取决于应用程序的类型。游戏应该在更多的硬件上进行测试。实用程序应用程序可以在不太真实的设备上进行正确测试。只要你了解你的应用程序的需求和模拟器的局限性,你就可以做你需要的。

商店中有许多从未在任何真实设备上测试过的应用程序。大多数都在一台设备上进行了测试。没有多少人拥有多个设备。每个原始 iPad 应用程序都在没有真正的 iPad 的情况下进行了测试。当时还没有人拥有。

我们都必须面对现实。如果您有设备,那就太好了。如果你不这样做,你尽你所能。

于 2013-03-10T00:49:12.347 回答