从通用应用程序中排除 iPhone 3GS 和较旧的 iPhone 和 iPod

Posted

技术标签:

【中文标题】从通用应用程序中排除 iPhone 3GS 和较旧的 iPhone 和 iPod【英文标题】:Excluding iPhone 3GS and older iPhones and iPods from universal App 【发布时间】:2013-01-18 22:55:51 【问题描述】:

我想实现与this question 中的人相同的目标,但使用的是通用应用程序。也就是说,包括所有 iPad 版本以及所有具有视网膜显示屏的 iPhone 和 iPod。

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

armv7 前置摄像头~iphone 前置摄像头~ipod

我不确定的是 ~iphone 和 ~ipod 后缀是否足以让系统知道我想要包含 iPad 1(它没有前置摄像头)

任何人都可以确认这是正确的方法吗?

Apple 支持门户网站上的人只会将我指向文档和指南,但我没有找到任何我想做的真实示例。

【问题讨论】:

他们是否将您定向到文档的任何部分? 是的:link 有一个在有效密钥后使用 ~ipad 后缀的示例。 【参考方案1】:

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

【讨论】:

看来你是对的。你知道有什么方法可以实现我想要做的吗?这个page 解释了如何使用后缀,但它可能只适用于某些键。 如果该应用程序已经可用于 iPad,是否可以假设如果我在下一个版本中使用前置摄像头键,它将仅限制较旧的 iPhone 和 iPod,但会继续允许iPad 1? 否; iPad1 将被排除在外……抱歉,没有 UIRequiredDeviceCapabilities 的后缀。 UIRequiredDeviceCapabilities 不能在应用程序更新中更改“开发人员可以在应用程序更新时添加对 UIRequiredDeviceCapabilities 的限制,前提是任何被删除的设备都不能支持指定的 min os 版本。” oleb.net/blog/2011/12/… 您可以只添加 armv7.. 并检测设备类型 ([UIDevice currentDevice])。对于 iPod G2、G3 .. 或其他任何东西.. 您可以添加一些“警报”:“由于硬件要求 - 在您的设备上,您可能会遇到一些小缺陷......” 看来你是对的。我无法使用这些键(带或不带后缀),因此我检查了设备并在不支持该设备时弹出警报。一旦应用程序被批准或拒绝,我将关闭此问题,如果我对此有更多了解,请添加更多详细信息。谢谢【参考方案2】:

我很确定这会起作用 - 特别是如果有 front-facing-camera~ipad 的密钥。

【讨论】:

我确定前置摄像头有一个键,但这是我第一次使用特定于设备的后缀。我不想犯错误并启用以后无法限制的设备,也不想禁用 iPad 1 等设备。 @emibap 你有原装 iPad 可以测试吗? 刚刚使用许多设备测试了密钥,但没有按预期工作。构建正常但不能复制到设备(没有这样的文件或目录......)。如果我使用没有后缀的密钥它在 iPad 1 上不起作用:(

以上是关于从通用应用程序中排除 iPhone 3GS 和较旧的 iPhone 和 iPod的主要内容,如果未能解决你的问题,请参考以下文章

如何为较旧和较新的 Android 版本实现不同的 API?

text 在博客分页上更改较旧和较新的文本

iPhone 应用程序只有在 3GS 用户在 iTunes 中升级时才会出现问题?

我可以直接从 XCode_3.1.4_iPhone_SDK_3.1.2 将应用程序部署到 iphone 3gs iOS 4

NSURLConnection 在 iphone 3gs 中发布大型视频数据失败

可以将我的应用程序限制为 iPhone 3GS/iPhone 4 吗?