NSCocoaErrorDomain Code=257 文件无法打开,因为您无权查看它:FileManager attributeOfItem 在 iOS13 中返回 nil

2023-11-27

在 iOS 13 设备中,FileManager 在尝试获取文件大小时返回权限错误。

do {
    let attr = try FileManager.default.attributesOfItem(atPath: my_file_path) //--> Getting nil
    fileSize = attr[FileAttributeKey.size] as! UInt64
} catch {
    print("Error: \(error)")
}

返回错误:

错误域=NSCocoaErrorDomain代码=257“无法打开文件“trim.1A9FFC19-EE2C-438A-BF3D-97E05A97EF9E.MOV”,因为您无权查看它。” UserInfo={NSFilePath=/private/var/mobile/Containers/Data/PluginKitPlugin/ADB8684E-12B5-451D-A20F-158B899BB3DD/tmp/trim.1A9FFC19-EE2C-438A-BF3D-97E05A97EF9E.MOV,NSUnderlyingError=0x280af0510 {错误域=NSPOSIXErrorDomain 代码=1“不允许操作”}}

仅在我更新到 iOS 13 后才发现该问题。在早期版本中,一切正常。


iOS 13 SDK 将照片应用程序视为另一个应用程序,因此当我们关闭图像选择器控制器时,视频 url 将无效。

之前,当我尝试将视频上传到 AWS 时,我遇到了问题,我所做的只是创建一个临时文件夹并复制现有的视频 url 路径,然后关闭图像选择器。然后上传,它成功了。

    func createDirectory(videoURL:URL){
            let Directorypath = getDirectoryPath()
            var objcBool:ObjCBool = true
            let isExist =  FileManager.default.fileExists(atPath:Directorypath,isDirectory: &objcBool)
            // If the folder with the given path doesn't exist already, create it
            if isExist == false{
                do{
                    try FileManager.default.createDirectory(atPath: Directorypath, withIntermediateDirectories: true, attributes: nil)
                }catch{

                    print("Something went wrong while creating a new folder")
                }
            }
            let fileManager = FileManager()

            do {
                if fileManager.fileExists(atPath:Directorypath) {
                    try? fileManager.removeItem(at: URL(fileURLWithPath:Directorypath))
                }
                try fileManager.copyItem(at:videoURL.absoluteURL, to: URL(fileURLWithPath:Directorypath))

                 self.imagePicker.dismiss(animated: true, completion:nil)
              }catch let error {
                              print(error.localizedDescription)
              }

   }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NSCocoaErrorDomain Code=257 文件无法打开,因为您无权查看它:FileManager attributeOfItem 在 iOS13 中返回 nil 的相关文章

  • 如何在 SwiftUI 中动态隐藏导航后退按钮

    我需要暂时地在异步操作期间隐藏视图中的后退按钮 我想防止用户在操作完成之前离开视图 隐藏它是可能的永久使用 navigationBarBackButtonHidden true 但是 显然用户在这种情况下无法返回 因此他们被卡住了 我缺少什
  • 如何为PDFView设置PDFPageOverlayViewProvider?

    更新 我正在尝试设置pageOverlayViewProvider for a PDFView并且它没有按预期工作 PDFPageOverlayViewProvider方法没有被调用 PDFViewDelegate方法运行良好 struct
  • 哪个 API 可以替代 iCloud 中的 Core Data

    2016 年 6 月更新 截至 NSPersistentStoreCoordinator 的最新文档 与 iCloud 核心数据相关的所有内容都被标记为已弃用 因此 新的开发可能应该避免这种情况 使用 Core Data iCloud 和
  • 如何与Socket.io连接?雨燕4

    我已阅读最新文档 https github com socketio socket io client swift of Socket io对于斯威夫特 还有一个新连接的示例 let manager SocketManager socket
  • 计算属性作为谓词,以及作为 RealmSearchViewController 中的 sortProperty?

    我有一个领域对象Song with dynamic var title 我写了一个计算属性 sortedName它可以解决任何讨厌的前缀 如 The 或括号和标点符号 我想要我的RealmSearchViewController to us
  • AWS Cognito / 从子节点获取用户信息

    我有一个使用 AWS Cognito AWSMobileClient 的工作 iOS 应用程序 用户可以使用 AWSAuthUI 登录和登录 注销 接下来我想做的是 拥有另一个用户的子 例如 7y873ff7 u9h4k 我想从其他用户那里
  • 在 Swift 中解码 JSON Web 令牌

    尝试在 Swift 中解码 JWT 有效负载 但遇到了很大的困难 static func decodePayload tokenstr String splitting JWT to extract payload let arr spli
  • 在 Objective-C 中导入 Swift 类,-Swift.h 文件未找到

    我有一个用 Objective C 编写的 iOS 项目 我在项目中创建了一个Swift类 成功生成了Swift中访问objective c的桥接头文件 并且运行良好 我的问题是相反的 我想在 Objective C 代码中导入 Swift
  • Swift 类型推断和类型检查问题

    我不是在寻找如何正确执行此操作的答案 而是在寻找为什么会发生这种情况的答案 这是代码 func isInt param AnyObject if let value param as Int print value else print N
  • 使用 swift 准备 ForSegue 集合查看索引路径

    我没有找到任何好的例子来使用 swift 做我想做的事情 所以我允许自己问这个问题 我使用 collectionView 来显示 PFObjects 我想使用prepareForSegue 将显示的单元格数据发送到第二个控制器 此时 我正在
  • 取消所有操作+AFNetworking 3.0

    我创建了一个继承自 AFURLSessionManager 的 HTTPServiceProvider 类 添加以下代码来获取数据 let configuration NSURLSessionConfiguration defaultSes
  • 为什么 Obj-C 属性默认所有权“分配”而不是“强”

    我正在向旧项目添加 Swift 类 一切进展顺利 直到我尝试向 Swift 类添加属性 生成的标头无法编译 我认为问题是 在生成的代码中 Swift 省略了strong所有权并仅将其声明为nonatomic 这通常应该足够了 因为 prop
  • 在 Swift 中向 UIButton 添加字符串属性

    如何将字符串属性与UIButton在斯威夫特 我不希望该字符串显示为按钮文本 而只是将其作为标识符或键分配给按钮 这是我到目前为止所拥有的 func createAnswerButtons var index Int for index 0
  • 动态增加UITableViewCell中UILabel的高度?

    我有一个 UITableView 其中显示一个自定义单元格 我的单元格有两个标签和一个视图 如下图所示 我已经像这样给出了左视图的约束 项目标签限制 中心视图约束 右视图的约束 I am using a bean class to stor
  • 调整 SKShapeNode 的大小

    如何调整 SKShapeNode 的大小 到目前为止我尝试过的 调整框架大小 box frame width 10 给出错误Cannot assign to the result of this expression SKAction le
  • UITextField 文本更改事件

    如何检测文本字段中的任何文本更改 委托方法shouldChangeCharactersInRange适用于某些东西 但它并不能完全满足我的需求 因为在它返回 YES 之前 textField 文本不可用于其他观察者方法 例如在我的代码中ca
  • 如何将渐变应用于 iOS Swift 应用程序的背景视图

    我正在尝试应用渐变作为视图 故事板的主视图 的背景颜色 代码运行 但没有任何变化 我正在使用 xCode Beta 2 和 Swift 这是代码 class Colors let colorTop UIColor red 192 0 255
  • 在 Swift 中获取 UIImage 的主颜色

    我正在尝试在 Swift 中获取 UIImage 的主颜色 并尝试移植这段代码 https stackoverflow com questions 13694618 objective c getting least used and mo
  • 在 Android 上使用 opus 剪辑从 IOS 发送的声音

    我正在 IOS 中从 audioUnit 录制音频 用 opus 编码字节并通过 UDP 将其发送到 android 端 问题是播放的声音有点削波 我还通过将原始数据从 IOS 发送到 Android 来测试声音 效果非常完美 我的 Aud
  • 如何在 SwiftUI 中将阴影应用于内部视图?

    我在周围添加了阴影VStack其中包含我的两个文本字段和一个提交按钮 然而 阴影也被应用到了文本框内的两个文本字段 VStack 我在这里缺少什么导致这种情况发生吗 我尝试添加shadow radius 0 在文本字段上 但它不会改变任何内

随机推荐