首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在iOS 13中,UIImagePickerController不返回实时照片

是因为苹果在该版本中对UIImagePickerController进行了更新。在iOS 13之前的版本中,UIImagePickerController可以实时返回照片,但在iOS 13中,这一功能被移除了。

UIImagePickerController是iOS开发中用于访问设备相机和相册的框架。它提供了一个简单的界面,允许用户拍摄照片或选择现有照片。在iOS 13中,当用户选择照片后,UIImagePickerController不再立即返回实时照片,而是返回一个PHAsset对象,该对象代表用户选择的照片或视频。

要获取实时照片,开发者需要使用PHAsset对象获取照片的实际数据。可以使用Photos框架中的PHImageManager类来获取照片的实时数据。以下是一个示例代码:

代码语言:txt
复制
import Photos

// 在UIImagePickerController的代理方法中获取PHAsset对象
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
    if let asset = info[.phAsset] as? PHAsset {
        // 使用PHImageManager获取照片的实时数据
        let imageManager = PHImageManager.default()
        let requestOptions = PHImageRequestOptions()
        requestOptions.isSynchronous = true
        requestOptions.deliveryMode = .highQualityFormat
        
        imageManager.requestImage(for: asset, targetSize: CGSize(width: 1000, height: 1000), contentMode: .aspectFit, options: requestOptions) { (image, _) in
            // 在这里处理获取到的实时照片
            if let image = image {
                // 处理照片
            }
        }
    }
    
    picker.dismiss(animated: true, completion: nil)
}

在上述代码中,我们首先从UIImagePickerController的代理方法中获取到用户选择的PHAsset对象。然后,我们使用PHImageManager的requestImage方法来获取照片的实时数据。在闭包中,我们可以对获取到的照片进行处理。

需要注意的是,获取照片的实时数据可能会涉及到一些异步操作,因此建议在获取到照片后进行相应的处理,例如显示在界面上或保存到本地。

腾讯云提供了丰富的云服务和产品,其中与图片处理相关的产品是腾讯云的云图片处理(Image Processing)服务。该服务提供了一系列的图片处理功能,包括缩放、裁剪、旋转、水印、格式转换等。开发者可以使用云图片处理服务来对获取到的实时照片进行处理和优化。具体产品介绍和使用方法可以参考腾讯云的官方文档:云图片处理

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

iOS中,系统相册的那些事

UIImagePickerControllerCameraFlashModeOn = 1//开启闪光灯 自定义相册方式之一 ALAssetsibrary 基本介绍:该框架可实现自定义相册,实现定制的图片选择器,可支持多选、自定义界面,只不过APIiOS9.0...; 3.选择照片返回上级界面或者进入预览图。...自定义相册方式之二Photos.framework 基本介绍:Photos是苹果在iOS8.0提出的API,是目前,苹果推荐的照片框架,学习一下还是很有必要的; 主要成员介绍: 1.PHAsset:代表照片库中的一个资源...版本不同,ALAssetsibrary适用于iOS9.0之前,Photos适用于iOS9.0之后; 获取资源的方式不同:ALAssetsibrary都是以枚举的方式获取资源的,遍历照片库(ALAssetsibrary...,效率上会有所提高; 以上内容均来自工作学习中的心得,有不足的地方欢迎大家前来讨论,共同提高。

1.3K40

iOS 开发实践:iOS照片API的那些坑

2.推荐自己写选图控件 对于选图没有太高要求的app,建议使用系统的选图控件UIImagePickerController,这样开发快捷便利,但是在我看来最大的优点在于这样做未来的维护成本会很小,尤其是可以未来几乎第一时间享受到系统选图控件的新功能和新特性...iOS 10,如果用UIImagePickerController的话,还需要规避一个系统API会crash的坑。...同步的照片,以及iCloud照片流上的照片,所以如果你的照片被传到照片流上去后,通过这两个API返回的相册列表里会有两份相同的照片。...好在在iOS 8.1上苹果修改了这一API的行为,不再返回iTunes照片,以及照片照片,使得Photos.framework从整个版本开始才真正意义上是可用的了。...4.2判断iCloud API的卡死 iOS 10系统上,还有一个新的坑,那就是用requestImageDataForAsset这个API会有一定概率出现永远执行回调。

2.7K40

iOS中,系统相册的那些事

使用拍照功能;否则从照片库中选择 if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera...UIImagePickerControllerCameraFlashModeOn = 1//开启闪光灯 自定义相册方式之一 ALAssetsibrary 基本介绍:该框架可实现自定义相册,实现定制的图片选择器,可支持多选、自定义界面,只不过APIiOS9.0...,多以集合视图的形式展现; 3.选择照片返回上级界面或者进入预览图。...版本不同,ALAssetsibrary适用于iOS9.0之前,Photos适用于iOS9.0之后; 获取资源的方式不同:ALAssetsibrary都是以枚举的方式获取资源的,遍历照片库(ALAssetsibrary...,效率上会有所提高; 以上内容均来自工作学习中的心得,有不足的地方欢迎大家前来讨论,共同提高。

1.1K20

iOS使用UIImagePickerController调用系统相机、相册与图库

iOS使用UIImagePickerController调用系统相机、相册与图库 一、引言         UIImagePickerController是系统封装好的一个导航视图控制器,使用其开发者可以十分方便的进行相机相册相关功能的调用...二、UIImagePickerController中属性与方法的应用         使用UIImagePickerController之前,应该先判断设备做支持的媒体文件获取类型,使用如下方法进行判断...)isSourceTypeAvailable:(UIImagePickerControllerSourceType)sourceType; //判断某个数据提供者所支持的文件格式 /* 文件格式定义<...(4_0); //判断相机设备支持的媒体模式 /* 返回值为如下枚举: typedef NS_ENUM(NSInteger, UIImagePickerControllerCameraCaptureMode...NS_AVAILABLE_IOS(4_0); //设置相机捕获模式 照片或视频 @property(nonatomic) UIImagePickerControllerCameraCaptureMode

2.3K10

iOS实现视频和图片的上传

关于iOS如何实现视频和图片的上传, 我们先理清下思路 思路: #1. 如何获取图片? #2. 如何获取视频? #3. 如何把图片存到缓存路径中? #4. 如何把视频存到缓存路径中? #5....从相册选择 或者 拍照, 这部分可以用UIImagePickerController来实现 代码如下: - (void)actionPhoto { UIAlertController...stringFromDate:[NSDate date]] stringByAppendingString:@".MOV"]; } 有时候需要获取视频的第一帧作为显示, 方法如下: //获取视频的第一帧截图, 返回...:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) { NSLog(@"成功返回...model.isUploaded = NO; }]; } 这里有事先创建两个可变数组uploadArray, uploadedArray, 一个存放准要上传的内容, 一个存放上传完的内容 准备上传后做什么操作

1.8K71

iphone 相册权限没办法开启_苹果请求访问App将在此处显示

一:打开相册不提示用户权限 问题描述:iOS11已经plist文件中写了相关权限设置,但是使用UIImagePickerController打开相册的时候却不提示用户选择权限,有以下几条情况: UIImagePickerController...同样的设置使用相机会有权限选择提示,设置中也没有关于相册的设置; 项目中有用到TZImagePickerController的第三方库多选照片,他进入图库的时候就会有权限提示,设置中关于相册的权限是:...为用户未作出明确选择的情况下自己主动请求了一次权限设置,代码如下: /// Return YES if Authorized 返回YES如果得到了授权 - (BOOL)authorizationStatusAuthorized...tipLabel.text = tipText; [self.view addSubview:_tipLabel]; if (iOS8Later...本站仅提供信息存储空间服务,拥有所有权,承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

1.1K30

iOS开发——头像设置及本地沙盒保存,圆形头像显示

今天来讲一讲iOS实际开发中,对于头像的应用。 现在的APP中,对于头像的设置,我们大多采用圆形头像,并且需要支持从照相机获取或者从相册中选择用户需要的头像,并且保存在本地或者服务器中。...暂时我还是把代码保存到了沙盒文件里,代码中大家也可以很方便的把存储服务器里的头像图片集成进来。 HeadsPicture.m 中,代码如下。...最后来写 设置头像 按钮背后的选择照片的逻辑代码。 因为是从 照相机 或者 相册 中来读取照片,需要使用 UIImagePickerController"图像选择器" 。...- (IBAction)selectPhoto:(id)sender { UIImagePickerController *imagePicker = [[UIImagePickerController..."]; //将照片放入UIImageView对象 self.avatarImage.image = image; //把一张照片保存到图库中,此时无论是这张照片是照相机拍的还是本身从图库中取出的

1.7K30

如何快速定位、分析、解决非Crash的BUG(iOS 11篇)

Bug定位: 用模拟器进行复现,并断点在UIImagePickerController的回调方法,再用Xcode查看实际的返回参数和图片。...如下: ①是特意选择的区域,刚好覆盖到瀑布的顶部; ②是UIImagePickerController返回参数,通过po命令查看; ③是按照返回参数的CropRect原图截取出来的区域; ④...PS:此BugiOS8也会出现,iOS 9/10是正常的。...猜测、定位到问题所在之后,可以尝试修复,但是此Bug不在此列,建议花费过多精力。 iOS 11 下拉刷新异常问题 功能背景: 某些页面中,存在下拉刷新/上拉加载更多的功能。 ?...Bug定位: 通过模拟器复现,发现iOS 10的模拟器正常,iOS 11的模拟器存在此问题。 在后台数据返回的接口处断点,确定数据返回是否正常,发现iOS 11的模拟器根本没有返回数据。

2.3K50

iOS14中的PHPicker

被废弃的 API 有新的 API 出现,也会有一些 API 被废弃, UIImagePickerController 中有三个 sourceType,现在有两个被废弃,只留下 camera。...新增权限 iOS 14 中相册新增了一个 “Limited Photos Library” 模式,授权时多了一个 “选择照片” 的选项。...监听相册变化 配合手动调用 PHPickerController,我们还需要监听用户添加/删除了哪些照片。 注意: 这组 API 并不是新出的,从 iOS 8 开始就支持了。...新增的 API PHAccessLevel iOS 14 中新增了权限等级枚举 PHAccessLevel,有两个 case,分别是 “只读” 和 “读写”。...14, *) case limited = 4 }复制代码 当用户授权时选择了 “选择照片” 的选项时: 使用新 API 将会返回 limited case 使用旧 API 将会返回 authorized

3.5K30

为什么推荐使用PHPicker

被废弃的 API 有新的 API 出现,也会有一些 API 被废弃, UIImagePickerController 中有三个 sourceType,现在有两个被废弃,只留下 camera。...新增权限 iOS 14 中相册新增了一个 “Limited Photos Library” 模式,授权时多了一个 “选择照片” 的选项。...监听相册变化 配合手动调用 PHPickerController,我们还需要监听用户添加/删除了哪些照片。 注意: 这组 API 并不是新出的,从 iOS 8 开始就支持了。...新增的 API PHAccessLevel iOS 14 中新增了权限等级枚举 PHAccessLevel,有两个 case,分别是 “只读” 和 “读写”。...14, *) case limited = 4 }复制代码 当用户授权时选择了 “选择照片” 的选项时: 使用新 API 将会返回 limited case 使用旧 API 将会返回 authorized

2.4K40

UIImagePickerController的中文界面和改变statusBar的颜色

用户选择头像功能是最常见的调用相机相册场景,调用系统的方法会存在两个问题:1.除了UIImagePickerController的拍照页面,UISearchBar的取消按钮,键盘上的返回、完成等按钮,以及其他系统界面中带有英文的...,2.很多时候我们App 的状态栏设计格式和选择照片页面格式不符合的问题。...info.plist中添加Localized resources can be mixed value值为YES 如下图: ?...*pickerViewController; @end 点击选择头像按钮代码: UIAlertController *alertC = [UIAlertController alertControllerWithTitle...的延展,并实现preferredStatusBarStyle方法 #import "UIImagePickerController+util.h" @implementation UIImagePickerController

1.8K40

iOS开发】Connection to assetsd was interrupted or assetsd died

iOS开发中,通过 UIImagePickerController 获取系统相册中的照片的 URL 并不非常的直观。 StackOverFlow 上面的相关问题基本都指向了下面这个方法: ?...示例代码 即,import AssetsLibrary 之后, imagePickerController 的方法中,通过 ALAssetsLibrary 的 writeImageToSavedPhotosAlbum...方法,闭包中获取assetURL,而值得注意的是,有不少人在这里出现了内存管理的问题(循环引用),最终导致控制台输出如下。...有人是通过加入 autoreleasepool 或者用 GCD 解决的问题,而我尝试无果之后发现了另一个非常隐蔽的原因: ? 正确代码 ?... writeImageToSavedPhotosAlbum 这个方法中,CGImage 参数和最后的闭包参数都是可以写成nil并通过编译的,但是前者写成nil会造成这个方法不能被成功执行,后面的闭包是我们获取

1.4K10

iphone相册打开是横屏_苹果手机相册变成横屏怎么办

1.以往开发中,app调用相册一直没问题。...解决方法: 在网上找了很久,很多说在打开相册的时候强制竖屏,或者重写一个类,继承 UIImagePickerController,重写他的 -(BOOL) shouldAutorotate{...-(UIInterfaceOrientation) preferredInterfaceOrientationForPresentation{ } 我也去试了一下,发现并没有什么卵用,都是ios6...(2).设置横屏.(3).设置竖屏 2.appDelegate 里面 – (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow...本站仅提供信息存储空间服务,拥有所有权,承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

2.1K20

React Native iOS原生模块开发实战|教程|心得

原生模块开发实战 在这里我们就以开发一个从相册获取照片并裁切照片的实战项目,来具体讲解一下如何开发React Native iOS原生模块的。...@end 查看视频教程 ImageCrop类中,我们调用了Crop类来实现从iOS相册中获取图片并裁切图片的功能,调用Crop的时候我们用的是懒加载的方式。为什么要用懒加载呢?...另外,需要特别提到的是,我们对Crop实例设置了强引用,这是为了防止我们调用相册的时候Crop被回收,如果Crop被回收我们就无法收到选择照片之后的回调了,也就无法获取到照片。...原生模块和JS进行数据交互 我们要实现的从相册选择照片并裁切的项目中,JS模块需要告诉原生模块照片裁切的比例,等照片裁切完成后,原生模块需要对JS模块进行回调来告诉JS模块照片裁切的结果,在这里我们需要将照片裁切后生成的图片的路径告诉...RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) 那么当js调用它的时候将会返回一个

2K60
领券