gpt4 book ai didi

iphone - 如何处理 iOS 的系统警报消息?

转载 作者:可可西里 更新时间:2023-11-01 03:33:11 24 4
gpt4 key购买 nike

我有一个应用程序,我在其中使用 UIImagePickerController 来使用 native 相机来单击图片,但是当设备上的照片库已满时。我收到一条警告消息,内容为“无法拍照 - 没有足够的可用存储空间来拍照。您可以在设置中管理您的存储空间”。我有两个选项可以单击“完成”按钮或“设置”按钮。单击其中任何一个都不会执行任何操作,应用程序会完全卡住。

这是我从控制台日志中得到的

Not enough space to take a picture. Available space is 0

选择器的代码

UIImagePickerController *mediaPicker = [[UIImagePickerController alloc] init];
mediaPicker.sourceType = UIImagePickerControllerSourceTypeCamera;
mediaPicker.delegate=self;
mediaPicker.sourceType=UIImagePickerControllerSourceTypeCamera;
[self presentModalViewController:mediaPicker animated:YES];

我已经实现并尝试了所有委托(delegate),但没有调用任何委托(delegate)。

有什么方法可以让我使用监听器来检测何时发生此错误并将用户返回到上一个屏幕?

最佳答案

听起来您的设备内存不足,系统发送了很多“内存不足”通知,您的应用也收到了。结果是您的应用发布了 UIViewController,它最初启动了 UIImagePickerController。

现在,当您使用“完成/设置”按钮关闭 imagePicker 时,控制权会返回到您的应用程序。在这种情况下,旧的 UIViewController 不再存在,并且您还没有实现从头开始重新创建它的代码。设备看起来像是卡住了,但这只是因为您的应用没有重新绘制 UI。否则应用程序工作正常。

您可以通过在每个 UIViewController 中实现 didReceiveMemoryWarning 方法并记录日志来检查这种情况,如果它被调用的话:

- (void)didReceiveMemoryWarning
{
NSLog(@"%@", [self description]);
[super didReceiveMemoryWarning];
}

我最喜欢的错误之一。容易错过:)

关于iphone - 如何处理 iOS 的系统警报消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14384992/

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