【问题标题】:iOS7 to iOS8 application files migrationiOS7到iOS8应用文件迁移
【发布时间】:2014-07-24 13:33:17
【问题描述】:

我目前正在 iOS8 上测试我的应用程序。一切都在纯 iOS8 上运行良好,但我正在努力解决从 iOS7 迁移的应用程序文件,这将在 iOS8 公开发布时发生在用户身上。由于我的应用程序使用了多个“标准目录”(文档、应用程序支持......),我希望确保迁移顺利。

iOS8 上的应用程序文件系统结构已更改(读取iOS beta 4 Release notefile system programming guide)。

当 iOS8 安装在设备上时,我猜所有以前安装的应用程序和所有相关文件(在 Documents、Application Support 中...)都将重新组织以匹配新结构。

你们对 iOS7 到 iOS8 升级期间将发生的变化的(详尽的)列表有任何线索吗?我找不到有关此主题的任何文档。 有没有办法测试/模拟 iOS7 应用程序沙箱迁移到新的 iOS8 沙箱结构?

谢谢

额外问题:操作系统升级时应用程序 GUID 会改变吗?

【问题讨论】:

  • 如果你使用 NSSearchPathForDirectoriesInDomains 函数或 URLForDirectory:inDomain:适当ForURL:create:error: 方法来访问你的目录,你应该没问题。 Apple 建议您使用这些方法来访问目录。
  • 另外,如果您不确定,请下载 Xcode 6 测试版并在 iOS 8 模拟器中进行测试。

标签: ios ios7 filesystems migration ios8


【解决方案1】:

应用容器的文件系统布局在磁盘上发生了变化。

相当 与依赖硬编码的目录结构相比,使用 NSSearchPathForDirectoriesInDomains 函数或 URLForDirectory:inDomain:appropriateForURL:create:error: 的方法 NSFileManager 班级。

使用NSFileManagerURLForDirectory:inDomain:appropriateForURL:create:error:方法:

NSFileManager *yourFileManager = [NSFileManager defaultManager];
NSURL *urlForSomeDirectory = [yourFileManager URLForDirectory:NSDocumentDirectory inDomain:NSAllDomainsMask appropriateForURL:nil create:YES error:nil];

如果您当前正在使用此方法,那么您无需更改任何内容。

您可以将NSDocumentDirectory 替换为many other constants。如果您想捕获错误,您可能还想用NSError ** 替换最后一个参数。

额外问题:它不应该,但你永远不知道。

【讨论】:

  • 确实,我使用 NSSearchPathForDirectoriesInDomains 函数,但我在某些时候依赖于 iOS8 之前的文件系统结构,并在某处使用了相对路径...谢谢您的奖励答案,我希望我能给你加分!
猜你喜欢
  • 2014-12-30
  • 1970-01-01
  • 1970-01-01
  • 2018-03-07
  • 1970-01-01
  • 1970-01-01
  • 2014-11-23
  • 1970-01-01
  • 2014-12-25
相关资源
最近更新 更多