gpt4 book ai didi

ios - 使用 useCameraDevices 交换相机时 iOS 7 崩溃

转载 作者:行者123 更新时间:2023-12-02 04:42:18 24 4
gpt4 key购买 nike

我的应用程序过去在 iOS 6.2 上运行得很好。由于我们更新到 iOS7,当我们更换相机时(我们之前已经做过),它崩溃了。

这是我的代码:

-(void) swapCameras
{
if (self.cameraDevice == UIImagePickerControllerCameraDeviceRear)
{
[self setCameraDevice:UIImagePickerControllerCameraDeviceFront];
}
else
{
[self setCameraDevice:UIImagePickerControllerCameraDeviceRear];
}
}

如果我使用 UIImagePickerControllerCameraDeviceFront 启动相机,它会完美工作。但如果我从 UIImagePickerControllerCameraDeviceRear 开始或尝试在运行时更改它,它会崩溃。

此崩溃是 iOS 7 上的错误吗?其他人也遇到过这种崩溃吗?

提前致谢。

最佳答案

如果有人遇到同样的问题,我通过更新iOS版本找到了解决方案。这个错误是在我使用iOS 7.0.0时发生的。我将其更新到iOS 7.0.4,它不再崩溃了。苹果可能已在这两个版本之间的任何更新中修复了此错误。

此外,由于此更新不是强制性的,并且某些用户可能没有更新到最新的 iOS 版本,因此我不得不在代码中使用一个技巧来获取当前的 iOS 版本并避免崩溃。我通过使用以下宏来做到这一点:

#define SYSTEM_VERSION_EQUAL_TO(v)                  ([[[UIDevice currentDevice]        systemVersion] compare:v options:NSNumericSearch] == NSOrderedSame)
#define SYSTEM_VERSION_GREATER_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedDescending)
#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)
#define SYSTEM_VERSION_LESS_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedAscending)
#define SYSTEM_VERSION_LESS_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedDescending)

然后,我在代码中使用它,如下所示:

if(SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0") && SYSTEM_VERSION_LESS_THAN(@"7.0.4"))
{
// Do your work to avoid crash
}

关于ios - 使用 useCameraDevices 交换相机时 iOS 7 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20338058/

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