首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何确定在IOS中是否有相机分辨率?

如何确定在IOS中是否有相机分辨率?
EN

Stack Overflow用户
提问于 2014-07-14 14:16:38
回答 1查看 440关注 0票数 1

我有一个功能,允许用户激活相机。现在我想给那个用户选择他们选择的分辨率的选项。问题是,在我向他们提供决议之前,如何检查是否可用。

代码语言:javascript
复制
UIImagePickerController *cameraUI = [[UIImagePickerController alloc] init];
cameraUI.sourceType = UIImagePickerControllerSourceTypeCamera;
cameraUI.mediaTypes =  [NSArray arrayWithObject:(NSString *)kUTTypeMovie];

/// Different Options If Avalaible
cameraUI.videoQuality = UIImagePickerControllerQualityType640x480;
cameraUI.videoQuality = UIImagePickerControllerQualityTypeIFrame960x540;
cameraUI.videoQuality = UIImagePickerControllerQualityTypeIFrame1280x720;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-14 15:11:03

我认为在iOS SDK中还没有确定此行为的定义方法.

两个替代方法是使用现有键或使用检查当前设备的条件语句。

First alternative:使用现有的UIImagePickerControllerQualityTypeHigh, UIImagePickerControllerQualityTypeMedium and UIImagePickerControllerQualityTypeLow,您可以指定质量,而无需确切地知道它是什么。这允许用户始终拥有可用的最佳选项。

第二种选择:使用条件语句检查当前设备版本,并将其与具有相机分辨率的硬核心设备列表进行比较。

代码语言:javascript
复制
#include <sys/types.h>
#include <sys/sysctl.h>

- (NSString *) currentPlatform { // get current device
    size_t size;
    sysctlbyname("hw.machine", NULL, &size, NULL, 0);
    char *machine = malloc(size);
    sysctlbyname("hw.machine", machine, &size, NULL, 0);
    NSString *platform = [NSString stringWithUTF8String:machine];
    free(machine);

    return platform;
}

// conditional statement 
NSString *device = [self currentPlatform];

if (device isEqualToString@"iPhone6,2") { // iPhone 5s 
    // return quality...
    // best bet is to look on Apple device spec and Wiki for deivce camera resolutions supported

}

有关设备的完整列表,请参见此地形图

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24738641

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档