gpt4 book ai didi

objective-c - 如何在函数中排除 iPad 2 和 iPod Touch 5th Generation?

转载 作者:行者123 更新时间:2023-11-28 19:21:07 24 4
gpt4 key购买 nike

我正在尝试创建一个适用于除 iPad 2 和 iPod Touch 第 5 代之外的所有 iOS 设备的功能。

- (void)doSomething {

// if iPad 2 or iPod 5th Gen
if ()
{
NSLog(@"You're using an iPad 2 or iPod 5th Gen. Sorry!");
}
else
{
NSLog(@"Any other iOS device. Congrats!");
} }

有人可以发布我如何完成此操作的快速示例片段吗?

最佳答案

如果您的应用有一个主要的硬件要求(即,如果设备上没有硬件,它就不能真正运行/做任何有用的事情),您应该向 UIRequiredDeviceCapabilities 添加一个条目> 在您的应用的 Info.plist 中输入。这将防止没有必要硬件来使用您的应用程序的人意外购买/下载它。它还会导致 App 商店显示支持您的软件的所有型号的列表,以便人们可以看到他们需要什么才能使用它。

如果您的应用具有需要特定功能的功能,通常可以进行框架内测试以查看设备是否具有所需的功能/硬件。如果这不是您应用的主要目的,则您可以根据设备的功能启用/禁用应用的此功能。您不想尝试查询用户正在运行哪个设备(除非在可能非常有限的情况下),而是想查询设备是否能够执行您想要的操作。

由于您提到了自动对焦相机,我们将以此为例。如果您的应用需要它来做任何有用的事情,您应该将 UIRequiredDeviceCapabilities 键添加到您的 Info.plist 文件并添加条目 auto-focus-camera 到数组。这将确保只有拥有带自动对焦相机的设备的用户才能购买和安装您的应用程序。有关 Info.plist 的 UIKit 键的更多信息,包括这个,请参阅 Information Property List Key Reference .

另一方面,如果您的应用可用于任何设备但具有需要自动对焦相机的功能,您可以使用 AVFoundation 框架测试它是否存在。您可以从 AVCaptureDevice 获得您需要的东西类(class)。例如,检查您是否有权使用自动对焦相机拍摄视频/静止图像:

// Check for the default camera
AVCaptureDevice* camera = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
if( camera && [camera isFocusModeSupported:AVCaptureFocusModeAutoFocus] ) {
// this device has a default video source capable of autofocus, so enable the feature
} else {
// this device does not have the required hardware, so disable the feature
}

关于objective-c - 如何在函数中排除 iPad 2 和 iPod Touch 5th Generation?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8749690/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com