如何限制 iOS 应用程序仅适用于 iPhone 不包括 iPad?

Posted

技术标签:

【中文标题】如何限制 iOS 应用程序仅适用于 iPhone 不包括 iPad?【英文标题】:How to Restrict the iOS app only for iPhone excluding iPad? 【发布时间】:2014-07-24 07:37:51 【问题描述】:

我想将我的应用程序限制为仅适用于 iPhone。我不希望我的应用可用于 iPad。

【问题讨论】:

快速谷歌 - ***.com/questions/4718813/… Apple 希望 iPad 用户能够访问完整的 App Store,包括 iPhone 应用程序。你不能禁用它。您拥有的一个部分解决方案是在启动时检测用户是否在 iPad 上,而不是显示有关此程序无法在 iPad 上使用的警报,但我不确定 Apple 是否会让该解决方案进入 App Store。 @Veeru,那是旧的(iPhone 4 次),我的 Retina iPad 有一个陀螺仪。 那么不幸的是我没有想法:) - 据我记得,苹果的规则之一是应用程序应该能够运行 ipad(如果不是它会被拒绝)甚至虽然它是为 iphone 构建的。不知道有没有新规定。 运行 iPhone 应用的 iPad 有什么问题?您是否担心应用程序尝试访问 iPad 1 上不可用的相机功能时会崩溃? 【参考方案1】:

是的,是的,你可以,设置 UIRequiredDeviceCapabilities 说明应用程序需要电话。这意味着它只能在 iPhone 上运行。请从此处的 Apple 文档中阅读更多相关信息 -

UIRequiredDeviceCapabilities - setting conditions so app store knows which devices to allow installation on

在此页面中,搜索 UIRequiredDeviceCapabilites,它会从那里告诉您更多信息。

我希望这对解决此问题的任何人都有帮助

【讨论】:

2021年苹果默认使用iPad进行测试。我有一个需要电话的应用程序,但我每次都被拒绝。他们是一群笨蛋。 @JBest 你发现了吗? @Sam 我很幸运,明确指出 iPad 无法在应用程序中执行某些任务,并且已经设置了将应用程序限制为 iPhone 的每个构建设置。我有时不得不重复自己。不过,这是一种解决方法。我希望现在 iPad 拥有自己的操作系统,对于许多开发人员来说,这个问题将自行解决。【参考方案2】:

您不能限制应用程序只能以正常方式在 iPhone 上运行。ios 的设计方式是 iPhone 应用程序将以 1 倍分辨率在 iPad 上运行。

但是,如果您真的想将您的应用程序限制在 iPhone 上,您可以通过在 UIRequiredDeviceCapabilities 中指定该应用程序需要功能电话才能工作来实现此目的。这意味着它只能在 iPhone 上运行。

【讨论】:

我只在 App Store 中提供了 iPhone 图片,并将 Deployment Info 中的 Device 设置为 iPhone,我的仍然可以在 iPad 上下载。您在哪里指定它仅适用于商店中的 iPhone?我什么都看不到。 那么,如果我按照你说的方式发布,是不是可以在Ipad上下载,还是会在商店层面受到限制?? 还有一件事是,在itunesConnect中,它也要求上传截图,如何跳过那些iPad截图并提交二进制文件? @JIthin 任何人都可以验证 Apple 在修订后确实允许这样做吗?他们接受了我的构建 5 次,我的构建针对 iPhone,但现在他们说它需要支持 iPad,但他们接受的前 5 个构建不支持 iPad.. @user4848830 我认为我们的开发人员必须联系 Apple 团队,因为出现了错误。在 XCODE 中,确保您的应用选择了仅适用于 iPhone,并删除任何仅由 iPad 使用的 AppIcon。但是,我今天看到了这条说明:从 2020 年 4 月开始,所有提交到 App Store 的 iPhone 和 iPad 应用程序都需要使用 iOS 13 SDK 或更高版本构建。它们还必须支持 iPhone XS Max 或 12.9 英寸 iPad Pro(第 3 代)或更新机型的全面屏设计。不确定这是否意味着需要 iPad。【参考方案3】:

您不能禁用 iPad 运行 iPhone 应用程序的功能。

【讨论】:

【参考方案4】:

project.pbxprod处添加TARGETED_DEVICE_FAMILY = 1;

换句话说,将TARGETED_DEVICE_FAMILY = "1,2" 更改为TARGETED_DEVICE_FAMILY = 1;

【讨论】:

【参考方案5】:

您不能限制将应用程序从 AppStore 安装到 iPhone 的权限。如果您的应用程序已经添加到 AppStore 并且能够安装在 iPad 上,那么您将无法仅针对 iPhone 设置限制。

即使您在 UIRequiredDeviceCapabilities 中设置了 电话是。在这种情况下,将构建加载到 AppStore 时会出错。

重要提示:因为您无法在应用进入商店后添加 UIRequiredDeviceCapabilities 限制,因此请务必提前计划 选择要求,您将乐于无限期地支持 继续前进。

如果设置 TARGETED_DEVICE_FAMILY iPhone,应用程序将在 iPad 中以模拟模式运行

唯一的方法是在将应用添加到 AppStore 之前添加 UIRequiredDeviceCapabilities,它允许在 iPhone/iPad 上安装!

【讨论】:

【参考方案6】:

在您的 info.plist 中,添加以下内容:

<key>UIDeviceFamily</key>
<array>
  <integer>1</integer>
</array>

1 = iphone 和 ipod,2 = ipad

【讨论】:

1 = ?和 2 = ? 1 = ipad 和 ipod,2 = ipad

以上是关于如何限制 iOS 应用程序仅适用于 iPhone 不包括 iPad?的主要内容,如果未能解决你的问题,请参考以下文章

如何限制我的应用仅适用于 iPhone 6 和 6 Plus?

如何限制 UIScrollViewDelegate 仅适用于 UIViewController 中的一个视图

将 IOS 中的应用程序功能限制为仅使用 Cell/WiFi 数据。

iPhone iso的Tesseract限制?适用于 ios 的任何其他 OCR 引擎

如何在通用项目中添加仅适用于 iPhone 的类别

IOS(将通用更改为 ipad)我的错误我已经为 iphone 上传构建现在我们希望在新版本中这个应用程序仅适用于 ipad