如果我为iPhone(OS 3)创建应用程序,它将在iPod Touch上运行而无需修改,还是需要创建单独的二进制文件?如果它是相同的运行时,它是否仅具有仅iPhone功能的存根,或者您是否必须使用UIDevice检查功能,以确保设备支持特定的类/方法以避免崩溃?
对不起基本问题,无法在任何地方找到这方面的简单解释。
干杯
戴夫
编辑:根据以下讨论:
如何检查设备是否支持拨打电话?目前我假设,如果它是iPod Touch,它不能。有没有办法找出设备支持哪些共享应用程序/ URL方案?
答案 0 :(得分:3)
该应用程序将在iPod touch上运行,无需编译单独的版本。显然,需要iPhone(例如相机)的功能无法使用。
您打算使用哪些功能?您可以为iPod用户提供替代方案或提醒他们,例如没有相机可用。
此问题解决了如何检查麦克风是否存在的问题:Detecting iPhone iPod touch accessories
答案 1 :(得分:3)
你不应该真的猜测设备是什么。如果您测试您尝试使用的特定功能,那么您将面向未来。毕竟,未来可能会有带摄像头的iPod。或指南针(在某些iPhone上,但在其他iPhone上)。
因为听起来你想要做的就是看看你是否可以打开网址,为什么不使用-[UIApplication canOpenURL:]
? (这可能适用于具有可以处理VOIP的应用程序的iPod touch - 我不知道是否存在任何此类存在,但我认为这是为什么你需要测试功能而不是基于硬件或操作系统做出假设的一个例子版本)。