在 UIDocumentBrowserVC 中自动选择 UIDocument

2024-03-24

我正在使用一个uidocumentbrowservc并想选择一个UIDocument以编程方式。就我而言,这是因为我想自动加载上次使用的UIDocument在启动时节省用户一些时间,因为我的应用程序很少更改文档。

我天真的方法是存储上次使用的URL in UserDefaults。然后在viewDidLoad() of my uidocumentbrowservc I call presentDocument(at: URL)。但这不起作用。当我打电话时URL.checkResourceIsReachable()我收到错误:

错误域=NSCocoaErrorDomain代码=257“文件“myFile”无法 被打开,因为您没有查看权限。”

文件路径是:

/private/var/mobile/Library/Mobile Documents/com~apple~CloudDocs/MyApp/myFile.

据我了解,我无权访问它,因为它不在我的沙箱中(它可能在用户保存它的任何地方?)。

有什么建议么?我确信存在更好的方法来做到这一点。


您不能只保存 URL。您还需要保存 UIDBVC 授予您的沙箱扩展。保存书签而不是 URL 即可实现此目的。此外,如果用户移动文件(例如在不同设备上的 iCloud Drive 内重命名),书签将继续工作。普通 URL 则不会。

使用选项 .withSecurityScope 和 URLByResolvingBookmarkData:options:relativeToURL:bookmarkDataIsStale:error: 查看 URL 的 bookmarkData(options:includeResourceValuesForKeys:relativeTo:) (然后不要忘记在结果 URL 上调用 start/stopAccessing)

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

在 UIDocumentBrowserVC 中自动选择 UIDocument 的相关文章

  • Swift 将十进制坐标转换为度、分、秒、方向

    我怎样才能将其转换为快速 我最好的猜测是所有 int 都变成了 var 删除所有导致 的 此外 如果有的话可以给我指出一个很好的来源来了解事物如何转换 那就太好了 NSString coordinateString int latSecon
  • 使用 Core Data Swift 对 TableView 和行进行分区

    我在 sqlite 中有两个表 代码由 XCode Generation 生成 class Event NSManagedObject NSManaged var startDate NSDate NSManaged var details
  • UITableView 自动调整行大小约束在 iPhone 6Plus 上神秘破坏

    我有一个自定义的 UITableViewCell 它有一个缩略图和一堆文本 行高配置为使用自动计算 tableView estimatedRowHeight 129 tableView rowHeight UITableViewAutoma
  • 使用 Swift 解析框架

    有人尝试过将 Parse Framework 与 swift 一起使用吗 只要添加桥接文件 您就可以使用 swift 和 Objective C 代码 这是我的查询 从 Parse 返回的 对象 数组正确地包含了我的所有数据 但该方法在将
  • 既然 Gradle 和 Maven 都弃用了 http,如何使用 Liferay Mobile SDK 6.2.18 生成 jar 库?

    在我当前的项目中 我们正在维护 开发使用客户网站 liferay 6 2 服务的移动 android iOS 应用程序 每当后端的人员生成新服务 或者只是将现有服务更新为具有新功能的新版本 时 我们需要使用 Liferay Mobile S
  • SwiftUI TabbedView 仅显示第一个选项卡的内容

    我正在尝试建立一个TabbedView使用以下简单代码 TabbedView Text Hello world tabItemLabel Text Hello Text Foo bar tabItemLabel Text Foo 运行时 两
  • 更改 UITableView 中移动单元格的默认图标

    我需要更改 UITableView 中移动单元格的默认图标 这个 是否可以 这是一个非常棘手的解决方案 可能无法长期工作 但可能会给您一个起点 重新排序控制是UITableViewCellReorderControl 但这是一个私有类 因此
  • MKPolylineView initWithPolyLine:在 iOS 7 中已弃用

    我收到以下错误 initWithPolyline 已弃用 首先在 iOS 7 0 中弃用 MKPolylineView lineView MKPolylineView alloc initWithPolyline overlay 代替这个的
  • NSAttributedString 和表情符号:位置和长度问题

    我正在使用 NSAttributedString 对来自 API 的文本的某些部分 如 Twitter 上的 mention 进行着色 API 为我提供了文本和代表文本中应着色的部分 或链接 标签等 的实体数组 但有时 颜色会因为表情符号而
  • 块执行后变量返回 null

    我正在调度一个队列来在单独的线程上下载一些 flickr 照片 在 viewWillAppear 中 当我记录块内数组的内容时 它完美地显示了所有内容 dispatch queue t photoDowonload dispatch que
  • 移动文件并覆盖[重复]

    这个问题在这里已经有答案了 即使同名文件已存在 我也尝试移动文件 NSFileManager moveItemAtURL location1 toURL location2 Does NSFileManager的方法moveItemAtUR
  • 在 Objective-C iPad 开发中发布

    我正在尝试发出 POST 请求 但我似乎无法弄清楚出了什么问题 我从服务器收到响应 但我的电子邮件 密码对似乎没有正确发送 读取 由服务器 它告诉我不存在这样的帐户 这是我的代码 它包含在一个函数中 当用户按下我创建的 登录 按钮时调用该函
  • AudioKit - 立体声通道从输入翻转到输出?

    我正在使用 AudioKit 创建一个实验性 iOS 音频应用程序 目前 我正在尝试将 AKStereoInput 的左声道重新路由到 AudioKit output 的右声道 并将 AKStereoInput 的右声道重新路由到输出的左声
  • 如何在 iOS 中通过 3G 连接创建无线热点

    如果我愿意 我将如何创建一个像这样的应用程序MyWi http intelliborn com mywi html 即 WiFi 网络共享应用程序 实现该功能需要哪些步骤 我需要使用哪些框架 库 我们的目标不是尝试将此应用程序放入应用程序商
  • 将本机 swift Set 转换为数组[重复]

    这个问题在这里已经有答案了 我需要将 Set 转换为 AnyObject 或 String 的数组 这可能吗 我知道使用 NSSet 我可以使用 allObjects 但对于本机集似乎没有任何函数 只需直接强制转换为数组即可 let arr
  • 编辑模板身份验证 Firebase

    您好 我使用 Firebase 启动了一个新应用程序 然后执行身份验证方法 但我需要编辑电子邮件地址验证和更改电子邮件地址的模板 这两个选项无法编辑 但重置密码后可以编辑模板 字段 消息 该消息仅在选项 电子邮件地址验证和更改电子邮件地址
  • 动态框架中未定义的架构符号

    我正在开发一个 iOS 框架 该框架包含多个第三方框架并使用 UnitySendMessage C 方法与 Unity 进行通信 我想创建一个动态框架 支持 iOS8 但我偶然发现以下编译错误 Undefined symbols for a
  • 当 tableView 的 allowedMultipleSelectionDuringEditing 属性为 YES 时,如何实现滑动删除功能?

    在 iOS 5 中 如果我设置allowsMultipleSelectionDuringEditing在 UITableView 上设置为 YES 然后滑动删除功能不再起作用 内置的邮件应用程序支持滑动删除和编辑模式下的多项选择 我也想这样
  • 关闭应用程序后如何调试

    我正在尝试重现问题 这需要在特定位置关闭并重新打开我的应用程序 这是我的问题 1 如何查看我的日志 使用NSLog命令 当我的 iPhone 未连接到 XCode 时 2 是否可以将iPhone模拟器的特定位置 例如市中心 设置为默认位置
  • iOS 中的视频可以进行反卷积吗?

    我想拍摄击球手挥动棒球的镜头 但球棒很模糊 视频为 30 fps 通过研究 我发现反卷积似乎是最小化运动模糊的方法 但我不知道是否或如何在我的 iOS 应用程序后处理中实现它 我希望有人能给我指出正确的方向 比如如何在 iOS 中应用反卷积

随机推荐

  • Android WebView 更新后卡在放大状态

    我们有一个使用 Android WebView 的应用程序 但更新到 v99 或 v100 后 它显示网页内容放大 更新后重新启动手机可以解决该问题 但只是暂时的 一段时间后 它将再次显示放大的网页 有没有人遇到过这个问题 是不是我们做错了
  • 关于查询而不是服务,最好、最全面的 SOAP 库是什么

    我的 google fu 并没有为 java 中的 SOAP 库提供非常有希望的结果 它们主要用于设置 SOAP 服务 因为我需要与这样的服务进行通信 我意识到 SOAP 只是构建和解析 XML 的问题 但理想情况下我希望对象映射和处理透明
  • 如何仅从类名获取 QMetaObject?

    我需要获取 QMetaObject 来动态创建对象实例 如果我知道该对象 那么 QObject metaObject 就是我所需要的 如果我知道该类 那么我可以使用 QObject staticMetaObject 变量 但是 如果我只知道
  • 如何使用 PHP 将 PFX 转换为 CRT 和 PEM?

    如何使用 PHP OpenSSL 函数将 pfx PKCS12 或 p12 证书转换为 crt 和 pem 这样我就可以避免使用公共服务器上不允许的命令行工具
  • 如何防止 IPAINTING 堵塞并改善着色

    我想从中删除所有使用 IPAINTING 的文本IMAGE https i stack imgur com vxOdS jpg 我一直在尝试各种方法 最终发现可以通过OCR获得结果 然后使用阈值MASK THE IMAGE processe
  • CLR 4.0 中单个对象的大小仍然限制为 2 GB?

    据我了解 NET 中的单个实例有 2 GB 的限制 由于到目前为止我主要在 32 位操作系统上工作 所以我并没有对此给予太多关注 32 但无论如何这或多或少是一个人为的限制 然而 我很惊讶地得知此限制也适用于 64 位 NET http m
  • 在 C 中分割数组

    假设我有一个数组 我想从某些索引范围中删除元素 如果我提前知道数组的大小 数组中每个元素的大小以及要删除的索引范围 是否有任何方法可以避免复制新数组 如果您不想使用新数组进行复制 您可以考虑在同一个数组本身中执行此操作 这就是我所拥有的 i
  • 我的 UIImageView 的任务

    我需要用我的UI图像视图 突出显示UI图像视图点击后 在右侧创建一个清除按钮UI图像视图 清除UI图像视图单击创建的清除按钮 将图像命名为myimage png in UI图像视图之前已清除 任何人都可以帮我做到这一点吗 有任何示例代码 应
  • 使用 Yup 验证字符串或数字长度

    是否有验证特定长度的 yup 函数 I tried min 5 and max 5 但我想要确保该数字恰好是 5 个字符 即邮政编码 此检查会带来最佳的验证体验 Yup string required matches 0 9 Must be
  • 从当前日期获取 GMT 字符串

    我能够获得我需要的输出格式 但不是正确的时间 我需要 GMT 4 小时 的时间 var dt new Date var dt2 dt toString yyyyMMddhhmmss 有任何想法吗 输出看起来像 20120403031408
  • 停止在 hashchange 上触发 popstate

    我正在使用 History API 并使用推送和弹出状态 我想阻止 popstate 事件在某些情况下触发 其中我只将哈希值附加到 URL 例如 在某些情况下 单击锚点会附加 到 URL 并立即触发 popstate 我想避免所有场景 or
  • 使用 python3 进行字符串格式打印:有时从解压数组打印

    In my 几分钟前提问 https stackoverflow com q 56092475 2327328 我问的是如何使用python的打印str format当字符串存储在数组中时进行打印 然后答案显然是解压列表 如下所示 note
  • sqlite3_prepare_v2 正在获取 SQLITE_ERROR

    我已经花了好几个小时了 必须让它工作 它阻碍了 iPhone 应用程序的发布 我第一次使用 SQLite 我已遵循所有建议 但我的 sqlite3 prepare v2 调用每次都会收到 SQLITE ERROR 1 这是我的控制器的代码
  • Paper_Trail:显示版本之间的差异

    我是 Rails 新手 使用 RubyMine 作为 IDE 我有 Paper Trail 保存数据 xoi qb 的早期版本 我的视图当前显示了我想要的当前和以前的数据 但我想显示当前版本 xoi qb 和以前版本 xoi qb 之间的差
  • TINYMCE 设定焦点...只是行不通

    我试过了 tinyMCE execInstanceCommand content mceFocus 我试过了 tinyMCE execCommand mceFocus false content 它们似乎都不起作用 好吧 我陷入了同样的问题
  • 在 Swagger Open API 3.0 中使用另一个参数时如何指示有条件地需要一个参数

    我已经创建了一个 RESTful API 现在正在为该 API 的使用定义 Open API 3 0 JSON 表示形式 当存在另一个参数时 我需要有条件地使用一个参数 所以我也不能真正使用required true or required
  • 无需单击列标题即可对 JTable 的条目进行排序

    我已经使用 DefaultRowSorter 和我自定义的行排序器类在 JTable 上实现了行排序 单击列标题对表格进行排序一切正常 但是 如果我想从应用程序代码内部调用排序操作 而不单击列标题 怎么办 我必须调用哪个方法 EDIT 我这
  • Maven 说它在“反应堆”中找不到东西

    我有一个 Maven 项目 我正在使用它 projects从项目根目录运行多个 pom 文件的命令 mvn clean install projects proj1 then proj2 The proj1 and then proj2是工
  • android google 地图在几层中传播事件

    我正在为 android 1 6 开发一个基于谷歌地图的应用程序 我的问题是 在我的应用程序中 我有不止一层从 ItemizedOverlay 扩展而来 表示地图中的信息 问题是所有层都实现了 onTap 方法 但现在只有最后一层 堆栈顶部
  • 在 UIDocumentBrowserVC 中自动选择 UIDocument

    我正在使用一个uidocumentbrowservc并想选择一个UIDocument以编程方式 就我而言 这是因为我想自动加载上次使用的UIDocument在启动时节省用户一些时间 因为我的应用程序很少更改文档 我天真的方法是存储上次使用的