从通用应用程序中排除 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?
iPhone 应用程序只有在 3GS 用户在 iTunes 中升级时才会出现问题?
我可以直接从 XCode_3.1.4_iPhone_SDK_3.1.2 将应用程序部署到 iphone 3gs iOS 4