大多数浏览器和
Developer App 均支持流媒体播放。
-
iOS 储存空间最佳做法
学习如何让 app 尽量有条理地优化使用磁盘存储容量的技巧。看看如何使用 iOS 11 中的新“文件”app 直接访问您 app 中的文稿。深入了解如何清点 app 的文件,并充分利用为 app 提供的可用存储容量。
资源
-
下载
作为一个 App 开发者 准确了解 你的 App 在磁盘上存储的内容 所存储的位置 以及为什么需要存储是非常关键的 掌握这些细节的最佳方法 是将你的 App 所实际存储的内容记录下来
首先 在一个设备上构建并运行你的 App 然后运行所有会在磁盘上存储内容的功能 当你完成这一项后 就是查看实际存储的内容和存储位置的时候了 使用 Xcode 中的设备与模拟器窗口 来提取你的 App 的容器 这样我们就可以看到里面有哪些内容 在左边的一栏中选定你的设备 然后在已安装的 App 列表中选定你的 App
然后点击齿轮图标 选择下载容器 然后在你的 Mac 上存储
在 Finder 中 按住 control 键并单击 刚刚下载的 xcAppdata 文件 选择“显示包内容” 进入 App 数据文件夹 然后开始记录清单 依次查看目录 检查每个目录中存储的内容
对于每个文件 确保你能够识别它 以及它为什么被存储 如果你不确定 为什么存储了某些东西 或许你也可以 删掉它 你需要确定你能够 把正确的文件 放在正确的目录下 并且需要考虑是否 这个文件需要存储在 iTunes 和 iCloud 的备份中 你只需要回答 前两个问题 因为它们与你的 App 的功能有关 我会关注后两个问题 从文件应当被存储的位置开始 iCloud Drive 是存放文件的最佳位置 因为它们在所有用户的设备上都可用 由于在 iCloud Drive 上你的 App 文件的内容 是可见的 你就需要只把 人们认识并且能够直接打开的文件放在那里 你的 App 在本地读写内容 然后当网络可用时 操作系统会自动上传 之前存储的文件 由于可能有多个设备同时 打开 iCloud Drive 使用这些文件 你确实需要使用文件协调功能 来避免发生冲突 所以记得要阅读文稿 来了解更多的细节 对于本地存储的文件文件目录 在你的 App 的容器内可用 与 iCloud Drive 差不多 你应该只把用户可见文件存储在这里 当你确认你的文件目录下 只包含那些应该被暴露的文件后 文件应用程序应该可以让它们 显示为 On My iPhone 或 On My iPad 位置 为了完成这一点 你的 App 需要支持 Open in Place 并且显示文件分享功能已经打开 以上两者都配置在你的 Info.plist 文件中 除了在文件应用程序中看到他们的文件外 人们可以在 Spotlight 搜索中找到他们的文件 并且在 iPad 上 拖放它们到其他的 App
另一个公开你的 文件目录的好处是 人们将在存储设置用户界面看到他们的文件 并能够进行单个删除 这就让管理磁盘空间变得更容易了 而且会降低 当磁盘空间小时你的整个 App 被删除的可能性 但是要记住 被放在 文件目录下的内容应当仅仅是 对使用你的 App 的人有用的文件 你要问的一个关键问题是 "我的用户应该能看到这个文件吗?" 如果答案是肯定的 那么一切都没问题 但是如果答案是否定的 那就把它移出文件目录 并将它移动到以下的几个地方 应用程序支持目录 是一个存储 可以放入文件目录 但不应让用户看到的文件的好地方 比如说 你的一个 App 需要用到数据库 但用户绝不能手动打开 你可以将文件存放在首层 或者你可以 为更好地管理文件而创建目录 目录完全受你的控制 而且它是持续的 内容已经默认包含在备份中了 但是你可以选择退出 如果文件不需要备份的话 最后 在应用程序支持目录下 所使用的磁盘空间 将会在你的 App 的文件与数据下的 存储设置用户界面显示出来 你的 App 可用的另一个位置是 缓存目录 你可以在这里存储 如果存储空间不够就可以被删掉的文件 这里方便存储任何 当有需要时可以被重新下载的内容 缓存目录中的内容 不包括在备份中 如果一个设备的磁盘空间不足 iOS 可以通过清除缓存来提供帮助 当你的 App 正在运行时 文件永远不会 从你的缓存目录中被清除 操作系统将会从清除 有一段时间未使用的 App 的缓存开始 对你们来说的一件好事是 你的缓存目录中的文件 并不会被作为你的 App 的文件与数据总和的一部分 而被写入报告 尽管它们被包括在 App 所占用的总体存储空间中
最后 你可以将你在 较长一段时间内不会用到的文件放在临时文件目录中 尽管操作系统会定期 在你的 App 没有运行的时候清理这些文件 你最好在用完它们之后就把它们清理掉 与缓存目录相似 临时文件目录不会被备份 也不会汇报给你的 App 的文件与数据总和
这些是常见的一些 你的 App 可以用来存储文件的位置 使用 iCloud Drive 和文件目录 来存储可以在文件应用程序中打开的文件 而应用程序支持 缓存和临时文件目录 则是为了存储你的 App 的私人文件 记得要审查你存储文件的位置 并确保使用正确的目录 最后 给几个最佳可以落实的建议 如果你有不需要被包含在 iTunes 或 iCloud 备份中的文件 用 NSFileManager API 来设置 你如果也想灵活处理 那些从你的 App 的旧版本中恢复的文件 比如 如果你的 App 曾经有过一个 32 位版本 并且它的文件被备份了 那么对于你的 App 的 64 位版本 这些旧文件可能会被恢复 而你需要能够处理这个问题 最好是对你的文件使用一个版本控制方案 这样你就可以为 你的 App 的多个版本提供强大的灵活处理空间 同时要确保你只把文件存在同一个位置 比方说 如果你把文件放入本地文件目录 不要把它们复制到 iCloud Drive 选择一个位置 并一直放在那里 对于用户文件 我建议选择一个云端存储位置 除非你有特殊原因 需要将文件只存储于一个本地设备
最后 一些新的容量运载能力的细节 已经在 iOS 11 上可用了 以帮助你们了解 你的 App 是否到了需要更多的磁盘空间的时候
第一个键 对重要的存储内容留出可用空间的设置 表明目前对于 你的用户在你的 App 的用户界面明确要求的内容 可用的空间量 比如说 如果他们选择要下载一个视频 或是在一个游戏中下载一个新的关卡 如果你所需要的空间大于可用的空间 你应该让他们知道他们的要求 无法实现 第二个键 对偶然的存储内容留出可用空间的设置 表明对于用户 有可能想要但没有 明确要求的内容可用的空间 这可能类似于 在一系列他们正在看的视频里的下一集 或是在他们可能会打开的服务器上的 一个最近更新的文件 对于这一类文件 你可以将它们最初保存在缓存目录 直到它们实际上被使用 在那时你就可以把它们移动到 应用程序支持或文件目录
记录下和确定 你的 App 所存储的内容之后 如果你发现有些文件没有存储在正确的地方 你就需要更新你的代码来把它放入正确的目录中 而且不要忘记添加任何必要的代码移植 来将文件从一个地方到移动另一个地方 如果你不这样做的话 你可能会无意中漏下遗弃的文件 通过清理你的磁盘存储 你可以在文件应用程序中 向人们开放你的文件目录 而他们可以用你的 App 更富有成效 你可以在 developer.Apple.com 网站 或者在我们的开发者论坛上找到更多的信息 谢谢观看
-
-
正在查找特定内容?在上方输入一个主题,就能直接跳转到相应的精彩内容。
提交你查询的内容时出现错误。请检查互联网连接,然后再试一次。