2009-12-14 34 views
1

如果我为iPhone(OS 3)创建应用程序,它将在iPod Touch上未经修改就运行,还是需要创建单独的二进制文件?如果它是相同的运行时,是否仅具有iPhone专用功能的存根,或者您是否必须使用UIDevice功能来检查功能以确保设备支持特定的类/方法以避免崩溃?正在iPod Touch上运行的iPhone应用程序

对不起,对于基本的问题,无法在任何地方找到一个简单的解释。

干杯

戴夫

编辑:基于下面的讨论:

您如何检查设备是否支持拨打电话?目前,我假设它是否是iPod Touch,它不能。有没有办法找出设备支持哪些共享应用程序/ URL方案?

回答

3

你真的不应该试图猜测该设备是什么。如果您测试您正在尝试使用的特定功能,那么您的未来方向就更具有前瞻性。毕竟,未来可能会有带相机的iPod。或圆规(这是在一些iPhone上,但不是其他人)。

既然听起来你想要做的就是看看你是否可以打开一个URL,为什么不使用-[UIApplication canOpenURL:]? (这大概可以在可以处理VOIP的应用程序的iPod touch上工作 - 我不知道是否存在这样的应用程序,但我认为这是一个例子,说明为什么需要测试功能,而不是基于硬件或操作系统做出假设版本。)

+0

同意,这似乎是最明智的做法。我使用的主要功能是使用tel:URL方案调用一个号码。你知道是否可以检查设备是否支持特定的方案?或者,如果没有,则支持拨打电话,因为这是通过ShareApplication路由完成的。 Cheers Dave – 2009-12-15 20:27:19

3

该应用程序将在iPod touch上运行,无需编译单独的版本。显然,需要iPhone(例如相机)的功能无法正常工作。

你打算使用哪些功能?您可以为iPod用户提供替代品,或者提醒他们没有相机可用。

这个问题怎么不会忽略对检查麦克风是否存在:Detecting iPhone iPod touch accessories

+0

非常感谢。已经创建了一个+(布尔)isiPhone方法添加到我的代码中的任何电话号码引用,它的工作原理。你知道iPod Touch和iPhone之间的共享应用程序URL字符串是否相同吗?例如,向谷歌地图发送一个字符串?戴夫 – 2009-12-14 09:11:45

+0

我没有与我自己工作,你的意思是网址计划?如果他们不一样,会很奇怪。只要考虑到这些设备运行相同的操作系统,仅仅因为硬件的不同并不会使操作系统的工作有根本的不同。 ;) – Pascal 2009-12-14 16:07:33

+0

嗨SanHolo,是的,我的意思是网址方案,我同意,如果他们不一样,这将是奇怪的。我想我的意思是,如果他们支持不同的功能,并因此支持不同格式的URL或完全支持特定的方案。在我使用tel:scheme的时候,我在下面的帖子中添加了一条评论,并想知道是否可以确定设备支持哪些方案。 – 2009-12-15 20:30:04

相关问题