UIDevice.current.userInterfaceIdiom 是手机,即使在 iPad 上运行应用程序时也是如此 [重复]

UIDevice.current.userInterfaceIdiom is phone even while running the app on an iPad [duplicate]

提问人:Saamer 提问时间:6/22/2022 最后编辑:AsperiSaamer 更新时间:6/22/2022 访问量:373

问:

问题:

如果我取消选择 iPad 作为要部署到的设备,如下所示:enter image description here

然后在我的 iPad 上使用 debug/TestFlight 运行我的应用程序,(从这里)返回而不是 .UIDevice.current.userInterfaceIdiomphonepad

问题:

如何检测应用程序是否在此状态下在 iPad 上运行?

上下文

问题是这个可以在这里测试Stair Climber 应用程序需要 HealthKit 才能工作,而 iPad 没有 Health 应用程序,所以我无法将 Flights Climbed 数据拉入应用程序,所以该应用程序基本上没用。即使我取消了对iPad的选择,也没有将iPad图片添加到列表中,但App Store的审核团队还是拒绝了我在iPad上的用户体验-,-.这就是为什么我希望用户在不使用 iPhone 时获得不同的体验。

iOS 版 Swift Objective-C iPad

评论

0赞 Yrb 6/22/2022
你试过包括iPad吗?由于您已经想处理差异,因此应该包括iPad。不过,有一句警告。审稿人使用 iPad(这就是您被拒绝的原因),因此您需要敏锐地了解 iPad 上的功能。
0赞 Saamer 6/22/2022
是的,当然,当我包括 iPad 时,它确实显示为 ,但我不想像我提到的那样包括 iPad。有没有其他方法可以知道设备是否是 iPad?pad

答:

2赞 Asperi 6/22/2022 #1

UIDevice.current.userInterfaceIdiom不是关于设备,而是关于当前活动接口习语的支持,但你实际上关闭了它。

您可以使用属性来检测真实设备是否是iPad。UIDevice.current.model