在未在设备上测试的情况下提交iPhone应用程序到应用商店

3

我已经在模拟器上彻底测试了我的应用程序,但是我没有苹果手机/平板电脑/ iPod touch来测试这个应用程序。那么在设备上测试应用程序时会出现一些隐藏的漏洞吗?

如果我有一台MacBook,我会把我的代码带上去,然后和朋友或陌生人一起测试这个应用程序,但我只有一台Mac mini :(

感谢您的建议。


如果您不介意无法访问调试器,只需将配置文件(带有正确的UDID)和构建发送给朋友即可;如果您的朋友拥有Xcode或iPhone配置实用程序,则相当简单。 - tc.
“在我将其测试于设备上之前,是否可能存在不会暴露的错误?” -- 是的。总是存在这种情况。 - Shaggy Frog
3个回答

5
一项主要的担忧是性能。设备,特别是较旧的设备,在CPU和内存方面的性能比Mac mini差了几个数量级。你的应用程序在设备上可能非常慢,但在模拟器中运行良好。
其他需要考虑的领域包括:
- 网络连接,在恶劣/无网络条件下的性能(在模拟器中进行测试的好方法:拔出以太网/关闭机场...但某些可达性代码在设备和模拟器中的工作方式不同,而且你无法模拟仅移动使用[无wifi]的情况)
正如Rengers所说,你应该获取你的朋友的设备ID,然后创建一个配置文件,这样他们就可以运行你的测试版本的应用程序,你可以将其压缩并通过电子邮件发送给他们。

性能是一个重要的加分项。iPhone模拟器完全不会模拟设备的CPU速度 - 它运行的速度取决于托管它的计算机所能容忍的速度。 - ceejayoz
1
完全正确,@ceejayoz。而且你不仅可能会发现在真实设备上性能不可接受的缓慢,还可能会发现一些你无法在模拟器上引起的错误,因为设备速度太慢了。例如,委托调用返回到已释放对象。通常在模拟器上,调用其委托的进程对于你来说太快了,无法进入并退出该视图控制器。然而,在设备上,这是一个容易捕捉的错误。 - Dan Ray

4
是的,有些bug只会在设备上显示。这取决于你的应用程序的复杂性。对于一个相当简单的应用程序来说,只在设备上出现bug的概率会稍低一些。
然而,我强烈建议在设备上进行测试。除了bug之外,模拟器无法很好地衡量性能。真实设备有更严格的RAM和CPU限制。
如果你有开发者账户,据我所知,你可以将应用程序分发给测试人员。也许其他拥有“iDevice”的人愿意为你测试?

4

你真的需要拥有一个设备,iPod Touch并不贵,现在一些零售商甚至可以以低于100美元的价格购买iPhone 3GS(需要签订合同)。原因是模拟器执行某些操作时与实际设备表现不一致,此外还存在资源差异(包括可用的CPU时间和内存)。


我还没有选择购买 iPhone 的唯一原因是我正在和 Verizon 签订合同,并且不能负担多余的花费。我认为最好的选择是购买 iPod Touch。这样对于测试来说是否足够? - D-Nice
iPod touch 用于测试性能是可以的。不同的世代有不同的性能,但它们都可以与某些 iPhone 世代相媲美。 - Jaanus
同意。正如我在回答类似问题时所阐述的那样:http://stackoverflow.com/questions/3116766/macbook-and-iphone-development-advice-needed/3118004#3118004,绝不要在没有在设备上测试的情况下提交应用程序或甚至是应用程序的更新。忽略性能差异,你与基于触摸的手持设备的交互方式与鼠标为基础的桌面电脑有所不同,而在屏幕上看起来很好的东西在较小的便携式显示器上可能根本无法工作。 - Brad Larson
当然,如果您的应用程序使用相机,您确实需要一部iPhone进行测试。 - tc.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接