Ale*_*ath 5 xcode ios ios-simulator
我有一个应用程序,可将加速度计数据记录和存储为核心数据托管对象。我想在模拟器中包含一些示例保存的录音,以在不同平台上测试应用程序,因为模拟器无法从加速度计进行录制。我已在构建方案中成功包含* .xcappdata文件,并且该文件可在设备上使用,但模拟器提取却恢复为空。
苹果的文档似乎表明可以在模拟器中包含应用程序数据,但我还没有使它起作用。我已经测试过,包括从一台设备保存到另一台设备上的数据,并且工作正常。我没有收到任何错误消息,只是空获取。
我知道我可以在应用程序中以文本文件的形式包含数据,在启动时对其进行读取和格式化,然后将它们保存为托管对象,但这会在项目中创建大量的附录代码和文件,我宁愿工作更干净。
您可以通过xcrun simctl get_app_container <device> <bundle identifier> data在终端窗口中运行来找到应用程序的数据容器路径。设备可以是名称(引用)或 UDID(请参阅 参考资料xcrun simctl list)。为此,必须运行相关的模拟器,并在其上安装应用程序的一个版本。
右键单击 .appdata 文件以显示包的内容。将您从 AppData/* 中的文件夹中获得的核心数据文件复制到类似的目录中,然后在模拟器中启动您的应用程序。
Xcode 目前没有一个 GUI 来管理模拟器中的容器,就像它在物理设备上所做的那样。如果您不介意,请在https://bugreport.apple.com/ 上提交增强请求,在“设备和模拟器”窗口中进行请求。
我刚刚发现,作为至少对于 Xcode 9.2/iOS 11.2 模拟器的解决方法,您可以将启动参数中的 (HOME/CFFIXED_USER_HOME) (我不确定这些是否实际有效)环境变量设置为路径到 .xcappdata/AppData,如下所示(我使用 SRCROOT 相对路径只是为了说明可能性 - 它适用于任何其他类型的路径,如绝对路径等)。请注意,应用程序数据中的更改将直接反映在该文件夹中,因此如果您不希望这样,则将其指向副本是有意义的。
| 归档时间: |
|
| 查看次数: |
544 次 |
| 最近记录: |