将文档预加载到 iOS 应用程序中

2023-12-04

情况: 我有一个 iOS 应用程序,可以处理文件并允许用户保存、编辑、打开这些文件并执行各种操作。我希望能够有一些预制文档供用户在打开应用程序(例如模板)以及他们自己的自定义文档时查看。

问题: 如何创建文档(或模板文件)并在用户安装我的应用程序并启动它(以及之前的所有时间)后将其显示在文档文件夹中?

背景: 该文档(将安装到应用程序文档目录中的文档)是由我而不是用户创建的。

我知道要执行此操作,您需要将其保存在捆绑包中,然后当您的应用程序首次运行时,将其静默复制到文档目录中。我应该将其复制到 appDidFinishLaunchingWithOptions 方法或 viewDidLoad 方法中并编写逻辑来检测应用程序是否是第一次运行吗?

My Code: 在这个网页:http://textsnip.com/d35fbc但是当它运行时,它总是说:“文件不存在[在文档文件夹中]”,然后它告诉我它正在被复制。问题是,当我检查应用程序的文档文件夹时,它永远不在那里,它仍然在捆绑包中。

为什么不能用这段代码复制 这是如何运作的?


事实上,这些文件必须添加到应用程序包中,然后在应用程序启动时以静默方式复制。

以下代码将文本文件从我的包的顶层复制到文档目录(如果该文件尚不存在)。

NSFileManager *fileManager = [NSFileManager defaultManager];
NSError *error;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];

NSString *txtPath = [documentsDirectory stringByAppendingPathComponent:@"txtFile.txt"];

if ([fileManager fileExistsAtPath:txtPath] == NO) {
    NSString *resourcePath = [[NSBundle mainBundle] pathForResource:@"txtFile" ofType:@"txt"];
    [fileManager copyItemAtPath:resourcePath toPath:txtPath error:&error];
}

这段代码的唯一缺陷是,如果用户删除该文件,当他们再次打开应用程序时,该文件会立即重新出现。

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

将文档预加载到 iOS 应用程序中 的相关文章

  • iOS后台获取时间限制崩溃

    我已经设置了背景获取 使用大纲NSScreencast 第 92 集 http nsscreencast com episodes 92 background fetch BOOL application UIApplication app
  • iPhone:每日本地通知

    我正在尝试实现本地通知 这就是我所设置的 Current date NSDate date NSDate date Add one minute to the current time NSDate dateToFire date date
  • 如何本地化 iOS 故事板

    我有一个包含一些视图的 iPhone 故事板 例如 导航项标题名为News 应翻译为其他语言 当我向故事板添加新的本地化版本时 它会为新语言创建当前故事板的副本 在这里我可以更改导航项的标题 但对我来说它似乎不太有用 如果我的故事板包含 1
  • 如何从标签栏控制器上方显示 UIActionSheet 视图?

    我需要在选项卡栏控制器上方显示操作表 我的意思是 即使操作表视图处于可见模式 我也能够看到选项卡栏控制器 因此 请建议如何从选项卡栏控制器上方查看 是否可以 其次 如何更改操作表的背景颜色和取消按钮背景颜色 请帮我 谢谢你 马丹 莫汉 要从
  • NSString 对象的最大长度是多少?

    NSString 对象中可以保存的最大字符串大小是多少 这会动态变化吗 我假设 NSString 的硬限制是 NSUIntegerMax 个字符 因为 NSString 的索引和大小相关的方法返回 NSUInteger 由于当前能够运行 i
  • iOS 何时清理本地应用程序 ./tmp 目录?

    iOS什么时候清理本地应用程序 tmp目录 请注意 这不是一个骗局这个问题 https stackoverflow com questions 3593900 iphone storage in tmp directory 我问的是应用程序
  • Xcode - 发布和分发配置中的 Malloc_Error

    仅当我在设备上选择发布或分发配置时 我才会收到此错误 在模拟器上它运行良好 请问 我错在哪里 cc1obj 4113 malloc mmap size 429379584 failed error code 12 error can t a
  • 更改目录时 Gitlab CI 运行程序作业失败退出状态 1

    我正在使用我的个人机器作为使用 Fastlane 的 iOS 项目的运行程序 这主要是因为共享运行器没有为 iOS 设置 因为它们没有安装 Xcode 更改目录时我的作业立即失败 它是一个 shell 运行程序 根本没有其他自定义配置 有什
  • 在 Xcode 中查找未使用的文件

    我最近开始开发一个新应用程序 它基本上是我以前制作的应用程序的副本 但做了一些更改 为了制作这个新应用程序 我复制了旧应用程序并删除了一些不需要的内容 我想知道 有没有办法知道 Xcode 中正在使用哪些类文件 或者有什么关于如何查找未使用
  • 无法在 xcode 8 beta 6 上编译 AWS CustomIdentityProvider

    我在 iOS 应用程序中使用 Amazon Cognito 和 Facebook 登录 直到 beta 5 为止此代码从这个SO线程 https stackoverflow com questions 37597388 aws cognit
  • 使用javascript以编程方式触发iOS safari中的复制菜单?

    我正在尝试实现一种用户友好的方式 将一些文本从文本输入字段复制到 iOS Safari 上的剪贴板 我知道无法在这个平台上以编程方式完成此操作 但我希望能够尽可能地指导用户体验 在 iOS Safari 上 当用户手动突出显示某些文本时 会
  • UIScrollView 与 UITabBarController 切断

    我有一个 UIScrollView 我将其放置在视图中 界面生成器文档 xib m h 但是 UIScrollView 的下半部分被剪切 并且由于我有一个 UITabBarController 而没有显示其下半部分 我在 appdelega
  • 自动生成的 Swift 桥接标头中“找不到接口声明”

    我当前的项目包含 Swift 和 Objective C 代码 两种类型的源文件都使用另一种语言的代码 当我进行完全清理并重新编译时 几乎每个 Swift 类声明都出现错误Module Swift h 形式为 Cannot find int
  • 如何从第二个视图弹回到根视图?

    我使用 2 将 3 个视图 根视图 第 1 个视图 第 2 个视图 连接在一起modal在 Apple Watch 故事板中继续 1 在根视图中 按下 保存 按钮后 将显示第一个模态视图 2 在第一模态视图中 一旦按下 500 按钮 将显示
  • iOS:如何创建核心数据库的备份副本?以及如何导出/导入该副本?

    我想为我的应用程序的用户提供创建核心数据数据库备份的可能性 特别是在他切换到新设备等情况下 我该怎么做呢 特别是如何重新导入该文件 我的意思是 假设他制作了数据库的备份副本 然后更改了大量内容并想要重置为以前保存的备份副本 我该怎么做呢 T
  • Objective-C 点表示法与类方法?

    请注意 我特别指的是点表示法与类方法一起使用 而不是与实例方法一起使用 出于好奇 我想看看如果我尝试在类方法中使用 Objective C 点表示法语法会发生什么 我的实验如下 import
  • Facebook 登录打开错误的应用程序

    我正在尝试使用 facebook 实现应用程序的登录 但每次我尝试登录时 它都建议打开错误的应用程序 我尝试了一些在这里找到的东西 但没有成功 在 Facebook 的开发者页面上我添加了一个后缀 我的 plist 如下 有谁知道发生了什么
  • dispatch_semaphore_t 重用 - 我在这里缺少什么?

    我有一些代码 其中使用dispatch semaphore t 来表示操作完成 当信号量是成员变量时 它的行为似乎不正确 我将展示有效的示例代码和似乎无效的示例代码 implementation someClass dispatch sem
  • 带有自定义字体的 UILabel 错误呈现

    在我的 iPhone 应用程序中 我为所有 UILabel 设置了自定义字体 更准确地说 我对 UILabel 进行了子类化 重写了一个方法 在该方法中设置了自定义字体 然后将 IB 中的所有标签设置为该自定义类 现在的问题是 所有文本都渲
  • TestFlight 安装的应用程序因 Swift 包管理器依赖项而崩溃

    我们已经迁移了一些 CocoaPod 依赖项 以便在 Xcode 11 中使用 Swift Package Manager 进行构建和链接 但是 每当我们将应用程序提交到 AppStore Connect 并使用 TestFlight 进行

随机推荐

  • JQuery 中的全球化不起作用

    我一直在关注斯科特 汉塞尔曼教程关于全球化 Javascript 验证 这是一个很棒的教程 让我更好地理解了我不太熟悉的主题 唯一的问题是它有点过时了 因为他提供的文件链接如下jquery glob fr js是无效的 但是您会被 Jque
  • 如何通过以圆形方式堆叠div来创建棒棒糖形状?

    如何以循环方式堆叠 div 其中最后一个 div 应位于第一个 div 下方但倒数第二个 div 上方 用css可以吗 任何帮助将不胜感激 请找到Codepen 给出示例代码片段 div class frame div class loll
  • 如何更改索引 UITableView 中侧面字母的颜色?

    我有一个带有字母索引的表格视图 并使用侧面字母快速浏览列表 对于那些不熟悉的人 使用这个 NSInteger tableView UITableView tableView sectionForSectionIndexTitle NSStr
  • 如何访问asp.net中动态创建的服务器控件

    我创建了一个网页 并用于动态地将服务器端控件添加到表中 我给他们单独分配了id 但我无法访问这些动态创建的服务器控件 C code protected void Page Load object sender EventArgs e if
  • Scala - 如何将 EitherT 与 Either 结合起来进行理解

    假设我有以下设置 def foo Either Error A def bar EitherT Future Error B case class Baz a A b B 我如何使用理解来实例化该类Baz 我尝试过 val res for
  • 删除未级联到sqlalchemy中的表

    我正在开发一个使用 sqlalchemy 0 6 的现有应用程序的扩展 该应用程序具有以非声明方式创建的 sqlalchemy 表 我试图在我的扩展中创建一个新表 其中外键列指向应用程序数据库中主表的主键 并且我以声明方式创建它 这一切都工
  • 在 Google 搜索中显示最后一个 Schema.org 面包屑条目?

    我正在尝试根据 Schema org 标记我的面包屑 以便在 Google 结果中获得面包屑 如下所示 首页 gt 分类 gt 当前页面 但根据我当前的标记 它只显示 首页 gt 分类 我的标记中是否缺少某些内容 示例页面 我正在使用 Wo
  • java中调用R-Rcaller

    我正在尝试通过使用 R 调用程序在 java 中使用 R 来实现集群 我正在尝试运行示例代码进行聚类验证 并且遇到大多数用户面临的常见错误 文件过早结束 package test import rcaller RCaller import
  • python http状态码

    我正在用 python 编写自己的目录破坏程序 并在安全可靠的环境中针对我的 Web 服务器进行测试 该脚本基本上尝试从给定网站检索常见目录 并查看响应的 HTTP 状态代码 它能够确定页面是否可访问 首先 该脚本读取一个包含所有要查找的有
  • 浮点加法 - 给出奇怪的结果..!

    当执行以下代码时 public class FPoint public static void main String args float f 0 1f for int i 0 i lt 9 i f 0 1f System out pri
  • 如何检测文件使用的压缩类型? (如果未指定文件扩展名)

    如何检测文件使用的压缩类型 假设未指定 zip gz xz 或任何其他扩展名 此信息是否存储在该文件的标头中的某个位置 你可以确定它是likely通过查看前几个字节来确定是其中一种格式 然后你应该测试一下是否真的is其中之一 使用该格式的相
  • Web浏览器打印后关闭应用程序

    我尝试使用 WebBrowser 类打印格式化的 HTML 打印后 我想关闭应用程序 如果我尝试关闭应用程序 则打印无法正常工作 我尝试使用计时器也没有效果 请找到下面的代码 static void Main string args var
  • SOLR 可以执行 UPSERT 吗?

    我一直在尝试在 solr 中执行相当于 UPSERT 如果已存在则插入或更新 的操作 我只知道什么不起作用 并且我读过的 solr lucene 文档没有帮助 这是我尝试过的 curl localhost 8983 solr update
  • SimpleDateFormat 字符串的正则表达式 [关闭]

    Closed 这个问题需要细节或清晰度 目前不接受答案 我的日期主要有以下形式yyyy MM dd and yyyy MM dd hh mm ss 我想要模式匹配yyyy MM dd hh mm ss 为此目的编写正则表达式很简单吗 我是正
  • 如何在IE8中动态创建CSS类

    我需要在 IE8 中使用 JavaScript 动态创建 CSS 样式表类 我在其他浏览器中使用了以下代码 var style document createElement style style type text css style i
  • Flickr API iOS 应用程序“POST 大小太大!”

    我正在尝试使用 API 将照片从 iOS 应用程序发送到 Flickr 我已成功获得授权并准备好使用令牌 我通过 HTTP POST 发送照片数据 并遵循此处的格式指南 http www flickr com services api up
  • 故事板奇怪的控制器视图框架起源

    我在 Xcode s 故事板中遇到了一个奇怪的问题 我的板上有大量视图控制器 由于某种原因 它们所有视图的原点都不为 0 所有 x 原点都是 160 y 原点都是 240 所有视图看起来仍然位于左上角 奇怪的是 大多数视图控制器的子视图似乎
  • 将字符串字段值更改为其子字符串的最有效方法

    我有一个包含如下文档的集合 data 11 version 0 0 32 有些有test后缀为version data 55 version 0 0 42 test The version字段具有不同的值 但它始终符合以下模式 0 0 XX
  • Scrapy如何提取类内部属性中的文本?

    我有下面的 HTML 代码 div class hero data skills item hero data skills item passive J tooltip title div
  • 将文档预加载到 iOS 应用程序中

    情况 我有一个 iOS 应用程序 可以处理文件并允许用户保存 编辑 打开这些文件并执行各种操作 我希望能够有一些预制文档供用户在打开应用程序 例如模板 以及他们自己的自定义文档时查看 问题 如何创建文档 或模板文件 并在用户安装我的应用程序