在 Objective-C 中从 NSURL 或 AVAsset 转换为 PHAsset

问题描述

所以我是新制作共享扩展,今天我通过创建共享扩展视频继续我的项目,但在获取返回数据类型 NSURL(视频路径文件)后卡住了,在我的方法中只接受 PHAsset。

所以我的代码是这样的

 [itemProvider loadItemForTypeIdentifier:UTTypeVideo
                                    options:nil
                          completionHandler:^(NSURL *videoURL,NSError *error) {
                        NSURL *url = videoURL;
                        PHFetchResult *fetchResult = [PHAsset fetchAssetsWithALAssetURLs:@[url] options:nil];
                        PHAsset *asset = [fetchResult firstObject]; //always return nil
                        AVAsset *videoAsset = [AVAsset assetWithURL:videoURL];


getting stuck here-> [[ChatMessenger sharedManager] sendVideoMessageWithAsset:asset
                                                                      caption:captionString
                                                                         room:roomData
                                                                        start:^(MessageModel * _Nonnull message) {
                        NSLog(@"======START");
                    } progress:^(CGFloat progress,CGFloat total) {
                        NSLog(@"======PROGRESS %f TO %f",progress,total);
                    } success:^(MessageModel *message) {
                        NSLog(@"======SUCCESS");
                 **strong text**       [self finishSharedItemRequestReturningItems];
                    } failure:^(NSError *error) {
                        NSLog(@"======Failed");
                    }];

从 NSURL - 视频共享扩展到 PHAsset 是否有任何提示

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...