iOS,将文件从收件箱文件夹复制到文档路径

2023-12-06

我启用了文档类型以将文件从其他应用程序导入或复制到我的应用程序。我有一些疑问 :

1-应该在哪里创建将文件从收件箱移动到文档目录的方法?这是正确的地方吗?func applicationWillEnterForeground(_ application: UIApplication)

2-在第一个视图控制器上,我从文档目录获取文件:

  func getFileListByDate() -> [String]? {

        let directory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
        if let urlArray = try? FileManager.default.contentsOfDirectory(at: directory,
                                                                       includingPropertiesForKeys: [.contentModificationDateKey],
                                                                       options:.skipsHiddenFiles) {

            return urlArray.map { url in
                (url.lastPathComponent, (try? url.resourceValues(forKeys: [.contentModificationDateKey]))?.contentModificationDate ?? Date.distantPast)
                }
                .sorted(by: { $0.1 > $1.1 }) // sort descending modification dates
                .map { $0.0 } // extract file names

        } else {
            return nil
        }

    }

但是当文件导入到我的应用程序时Inbox我的表视图中的文件夹(项目),如何自动从中移动文件Inbox to Document目录并删除收件箱文件夹?


如果您的应用程序需要打开来自另一个应用程序的文件,您需要实现委托方法

func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {

并将 URL 移至您的应用程序内您选择的文件夹。

let url = url.standardizedFileURL  // this will strip out the private from your url
// if you need to know which app is sending the file or decide if you will open in place or not you need to check the options  
let openInPlace = options[.openInPlace] as? Bool == true
let sourceApplication = options[.sourceApplication] as? String
let annotation = options[.annotation] as? [String: Any]
// checking the options info
print("openInPlace:", openInPlace)
print("sourceApplication:", sourceApplication ?? "")
print("annotation:", annotation ?? "")

将文件从收件箱移至目标 URL(在您的情况下是附加 url.lastPathComponent 的文档目录):

do {
    try FileManager.default.moveItem(at: url, to: destinationURL)
    print(url.path)
    print("file moved from:", url, "to:", destinationURL)

} catch {
    print(error)
    return false
}

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

iOS,将文件从收件箱文件夹复制到文档路径 的相关文章

  • 如何使用 alamofire 通过基本身份验证上传图像?

    我正在尝试使用 alamofire 4 7 1 和此代码上传图像 但说实话 我怀疑我没有编写正确的代码来上传图像 func uploadDefect defectRemark String defectLocation String def
  • 从未调用过交互式委托方法

    我想在 ViewController 1 和 NavigationViewController 2 之间进行交互式转换 NavigationController 通过按钮调用 因此呈现时没有交互转换 它可以通过按钮或 UIPanGestur
  • 如何为 iPhone 6+、6 和 5 指定不同尺寸?

    我想让 iPhone 6 6 和 5 上的视图看起来几乎相同 在附图中 我的意思是 例如 取消 按钮在 iPhone 5 中距离屏幕左边缘应为 30 像素 在 6 中为 35 像素 在 6 中为 45 像素 其他元素也类似 如何为每种类型设
  • Swift:设置协议的可选属性

    如何设置协议的可选属性 例如 UITextInputTraits 有许多可选的读 写属性 当我尝试以下操作时 出现编译错误 无法分配给 textInputTraits 中的 keyboardType func initializeTextI
  • 有没有办法在 Firebase 中等待查询完成?

    我正在使用 TableView 在 Viewcontroller 中的 iOS 应用程序中进行查询 我想确保在继续加载 TableView 之前我的查询已经返回 有没有办法保证查询已经完成 None
  • 如何在 iOS 13 中将 UISegmentedControl 的背景颜色设置为白色

    iOS 13 对 UISegmentedControl 进行了一些更改 包括切换所选片段时的非常漂亮的动画 但是我注意到它没有显示backgroundColor属性正确 它似乎总是有一点色彩 我见过回答如何设置的问题selectedSegm
  • jQuery:离线后 POST 出错(iOS 和 Chrome)

    我构建了一个具有离线功能的 HTML5 Web 应用程序 使用 AppCache 程序流程为 Online 在网络上时 应用程序预加载一些基本信息 工作 Offline 用户拿着装有应用程序的平板电脑offline 然后在应用程序上执行他们
  • Swift:长按手势识别器 - 检测轻击和长按

    我想连接一个动作 如果手势是点击 它会以特定的方式为对象设置动画 但如果按下持续时间超过 0 5 秒 它会执行其他操作 现在 我刚刚连接了动画 我不知道如何区分长按和点击 如何访问新闻持续时间以实现上述目的 IBAction func ta
  • iOS 7 tabBar 横线,如何去掉?

    Apple 在 iOS 7 中的 tabBar 上添加了一条细线 该线应该在 tabBar 和 UI 之间起到阴影或淡入淡出的作用 由于我使用的是定制的 tabBar 这条线非常令人恼火 你如何删除它 请告诉我这是可能的 否则我需要重新设计
  • SwiftUI:隐藏键盘但显示光标

    我想使用自定义按钮将文本输入到TextField 但仍显示并移动光标 有没有办法隐藏默认键盘 同时仍然显示光标 我希望有这样的事情 TextField text text keyboardType none 这是它目前的样子 您可以使用UI
  • 未知异常和崩溃

    当我尝试快速滚动表格视图或从远程重新加载数据时 我的应用程序崩溃了 当我先进行远程获取然后滚动表格视图时 一切似乎都工作正常 我不知道下面的崩溃日志意味着什么 它只是有时工作正常 有时崩溃 Incident Identifier 710A1
  • CATextLayer 上 iOS 6 中不需要的垂直填充

    背景 我在 iOS 5 中开始了我的项目 并构建了一个带有图层的漂亮按钮 我在按钮上添加了一个 textLayer 并使用以下代码将其居中 float textLayerVerticlePadding self bounds size he
  • 关闭捕获上下文 Swift

    当我尝试更改闭包中的变量时出现此错误 A C function pointer cannot be formed from a closure that captures context 是否有解决方法或者仍然可以更改闭包内的变量 My C
  • NSPredicate IN 从数组元素查询

    对于一个古怪的标题表示歉意 我有一个 Int 数组 我想定义一个 NSPredicate 来过滤掉 connectionType 等于数组中包含的值的项目 所以基本上是这样的 fetchRequest predicate NSPredica
  • 如何使用 IOS 12 在 UITableViewCell 中正确添加 UICollectionView

    由于某些原因 在使用 Xcode 10 beta 时 我无法正确显示 tableview 单元格内集合中的某些项目 在过去的四天里我尝试了我所知道的一切 我做了一个小项目样本来看看我的问题是什么 如果有人想在本地运行完整代码 请参见此处 h
  • 通过 Button Swift 中的标签发送行和部分

    我里面有这个cellForRowAtIndexPath cell plusBut tag indexPath row cell plusBut addTarget self action plusHit forControlEvents U
  • 在 Objective-C 中的 Swift 类上调用 NSStringFromClass 返回模块损坏的名称

    我知道这个问题 https stackoverflow com questions 24107658 get a user readable version of the class name in swift in objc nsstri
  • Xcode 异步单元测试在主线程上等待

    我正在尝试使用 Xcode 中的单元测试来测试一些异步代码 但主线程被阻塞 问题在于 某些正在测试的代码期望从 iOS 类 AVFoundation 接收回调 但是 AVFoundation 类似乎只会在主线程上回调 问题是 如果我正在进行
  • Glib 在 iPhone 应用程序中的使用

    我想基于现有的开源 Objective C 框架开发一个 iPhone 应用程序 但是该框架广泛使用了 glib 库 我找不到一种方法来构建和包含 iPhone 应用程序的 glib 库 非越狱 有什么办法可以做到这一点 或者有没有推荐的方
  • 使用强光混合模式时突出显示伪影

    我正在 iPhone 应用程序中使用顶部图像的 HardLight 混合模式混合两个图像 它看起来像这样 UIGraphicsBeginImageContext size sourceImage drawInRect rectangle b

随机推荐

  • 无法将网络摄像头视频路由到 Linux 上的虚拟视频设备(通过 OpenCV)

    我想通过 OpenCV 将视频叠加到传入的网络摄像头流上 作为第一步 我尝试从网络摄像头传输传入的视频 dev video0到虚拟视频设备 dev video1 v4l2环回 不幸的是 我无法将网络摄像头流转发到 v4l2loopback
  • 如何自动将合约程序集包含在 nupkg 中?

    我刚刚开始使用 nuget 为我们公司的内部库创建一些包 该库由许多程序集组成 其中许多具有从代码合同生成的合同引用程序集 我用的是最简单的nuget pack方法 就是传入csproj文件路径 让它解析项目之间的所有依赖关系 问题是它不包
  • WPF:“ApplicationCommands.New”在 MenuItem 的情况下显示不正确的源

    我是 WPF 新手 正在查看 net 4 5 中的 Professional WPF 示例 在命令章节中 有一个示例 多个控件可以发送相同的命令 我使用按钮 复选框和菜单项来触发 新建 命令 我面临的问题是 如果第一次按下 MenuItem
  • 从 javascript 对象数组中删除一些属性

    我想从 javascript 对象数组中删除一些属性 这是对象数组 obj array DATA ID 1 DATA NAME Jim DATA BB TYP 2 DATA MAC 5474 DATA ID 3 DATA NAME Fro
  • 如何使用默认 R 安装通过 conda 安装 rpy2

    我在 Ubuntu Linux 上使用 Anaconda Python 发行版 并希望在 IPython 笔记本中使用 R 魔法 有没有办法使用 conda 发行版安装 rpy2 并使用我当前在 usr bin R 的默认 R 安装 我的目
  • codeigniter 在 find_in_set 中添加 IS NULL

    通过生成查询时代码点火器框架 this gt db gt select id memo sent to sent by read by date gt from memos gt where FIND IN SET 1 sent to gt
  • Zxing有时会从条形码中获取错误的数据

    我知道这可能是一个相当简单的问题 我们还可以设置 Zxing 扫描的条形码格式 如下所示 1 intent putExtra SCAN MODE QR CODE MODE or any other format 如果我们这样做 2 inte
  • 什么时候优化为时过早? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我看到这个词用得很多 但我
  • Xcode 5:代码签名权利错误

    我已经构建了一个支持 IOS 7 的新应用程序 我获得了新的 XCode 5 GM 并尝试使用我的新配置文件和分发证书来签署我的应用程序 但我在分发时遇到了问题 我不断收到以下错误 无效的代码签名权利 您的应用程序中的权利 包签名与包含在包
  • 拆分一列字符向量并返回一个列表

    我有以下内容数据框 df lt data frame Sl No c 1 6 Variable c a a b a b c b c b c Sl No Variable 1 a 2 a b 3 a b c 4 b 5 c 6 b c 我想将
  • os/exec StdoutPipe 带颜色

    我正在制作一个包装纸我的世界使用 Go 的服务器控制台 它使用 os exec 运行服务器和 process StdoutPipe 以获取子进程的实时输出 但是 由于某种原因我无法让它显示颜色 当我直接从终端运行服务器时 颜色可以工作 但当
  • 如何忽略包含在我的yarn.lock 文件中的包?

    因此 在我的 package json 中 我有一堆 npm 库 以及一个从 git ssh url 拉入的私有存储库 该存储库需要始终是最新版本 该yarn lock添加了git sha和yarn升级等不会获取最新的 基本上 鉴于此 de
  • 如何通过 Socket 连接接收大数据流 - 没有 TCPClient

    我有一个问题 我想通过 SocketConnection 发送一个大字符串 但我无法立即接收该字符串 因为网络限制为 1500 字节 那么如何在不使用 TCPClient 的情况下通过 Socket 接收所有字节 或者这是不可能的 publ
  • 如何在类路径中使用嵌入表达式

    我试图将文件的绝对值传递给类路径的读取函数 如果我传递绝对路径和类路径 它就可以正常工作 但是当我传递嵌入表达式时它不起作用 我的代码如下 Scenario create swagger first RAD 给定 url 应用服务器 给定参
  • 在 PrintDialog 中以编程方式选择打印机

    我在 Windows 窗体中有一个 Web 浏览器控件 它加载一个 HTML 文件 我希望能够为用户提供将其另存为 PDF 文件的选项 如果用户安装了 CutePDF Writer 那么我想我可以通过编程方式从打印对话框中选择它并将其另存为
  • jQuery 中的 this 和 $(this) 有什么区别?

    jQuery 中的 this 和 this 有什么区别 我什么时候应该使用哪个 p each function this id this attr id 如果您考虑上面的函数 jQuery 将循环访问页面上的每个段落元素 并通过将 this
  • 如何可靠地猜测 MacRoman、CP1252、Latin1、UTF-8 和 ASCII 之间的编码 [重复]

    这个问题在这里已经有答案了 在工作中 似乎每周都会遇到一些与编码相关的忧虑 灾难或灾难 该问题通常源于程序员认为他们可以在不指定编码的情况下可靠地处理 文本 文件 但你不能 因此决定从今以后禁止文件名以以下结尾 txt or text 人们
  • 错误“‘git’未被识别为内部或外部命令”

    我安装了 Windows 版 Git 但是当我尝试使用git命令提示符中的命令 我收到以下错误 git is not recognized as an internal or external command operable progra
  • 是否可以从列表中的项目获取索引?

    我的意思是 我有一个列表框 我将列表放入 itemsSource 属性中 我还想显示它的绑定中的索引 我不知道这在 WPF 中是否可行 谢谢 有几种方法可以做到这一点 包括使用 AlternationIndex 的一些解决方法 但是 由于我
  • iOS,将文件从收件箱文件夹复制到文档路径

    我启用了文档类型以将文件从其他应用程序导入或复制到我的应用程序 我有一些疑问 1 应该在哪里创建将文件从收件箱移动到文档目录的方法 这是正确的地方吗 func applicationWillEnterForeground applicati