除iPhone 3GS和旧款iPhone以及iPod之外,如何使应用程序通用化?

3
我希望能实现与这个问题中的人一样,但使用通用应用程序。也就是说,包括所有iPad版本,以及所有具有Retina显示屏的iPhone和iPod。

我认为我需要添加到我的info.plist文件中的键在UIRequiredDeviceCapabilities部分是:

  • armv7
  • front-facing-camera~iphone
  • front-facing-camera~ipod

我不确定的是~iphone和~ipod后缀是否足够让系统知道我想包括没有前置摄像头的iPad 1。

有人能确认这是正确的操作方式吗?

苹果支持门户网站的人只会指向文档和指南,但我没有找到任何真正想要做的例子。


1
他们有没有特别指导你阅读文档的某一部分? - Simon Goldeen
是的:链接 有一个示例,在有效键后使用~ipad后缀。 - emibap
2个回答

1

您不能使用“后缀”。这些键允许您列出应用程序需要的“类似硬件”的功能。比如说:麦克风-您的应用程序“需要”麦克风!您不能说“如果是iPad,我需要麦克风...”


看来你是对的。你知道我尝试做到这一点的方法吗?这个页面解释了如何使用后缀,但它可能仅适用于某些键。 - emibap
已经有iPad版本的应用程序,如果我在下一个版本中使用前置摄像头键,可以假设它只会限制旧款iPhone和iPod,但仍将允许iPad 1吗? - emibap
抱歉,iPad1将被排除在外......对不起,UIRequiredDeviceCapabilities没有后缀。UIRequiredDeviceCapabilities无法在应用更新中更改。"开发人员可以在应用更新中对UIRequiredDeviceCapabilities添加限制,只要任何设备不支持指定的最低操作系统版本即可。" http://oleb.net/blog/2011/12/uirequireddevicecapabilities-cannot-be-changed-in-app-updates/ - TonyMkenu
你可以只添加armv7,并检测设备类型([UIDevice currentDevice])。对于iPod G2、G3或其他设备,你可以添加一些“警告”:“由于硬件要求-在你的设备上可能会遇到一些小缺陷...” - TonyMkenu
看起来你是对的。我无法使用那些键(带后缀或不带后缀),所以我检查了设备,并在设备不受支持时弹出了警报。一旦应用程序被批准或拒绝,我将关闭此问题,并在获取更多信息时添加更多细节。谢谢。 - emibap
好的。我的应用已经通过审核了! - emibap

0

我相信这会起作用 - 特别是如果有一个 front-facing-camera~ipad 的键。


我确信前置摄像头有一个键,但这是我第一次使用设备特定后缀。我不想犯错误并启用我以后无法限制的设备,也不想禁用iPad 1这样的设备。 - emibap
@emibap 你有原版的iPad可以测试吗? - Undo
刚用多个设备测试了一下按键,结果并不如预期。构建是OK的,但无法复制到设备上(没有这样的文件或目录...)。如果我不使用后缀键,则在iPad 1上无法使用 :( - emibap

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