You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从Xcode在设备运行应用时,原有应用安装数据会如何变化?

Xcode在物理设备上重新运行应用时,Documents目录数据的变化

作为iOS开发老鸟,我来给你把这个基础问题讲得明明白白~

首先分两种最常见的场景来说:

1. 直接点击Xcode运行按钮(常规修复bug后重新运行)

这种情况下,你之前存在Documents目录的照片会完完整整保留下来。

原因很简单:Xcode这时候做的是「增量更新」——它只会替换应用的可执行文件(就是你修复bug后编译出来的新代码)和需要更新的资源文件(比如新的图片、修改后的Info.plist),但完全不会触动应用的沙盒目录。而Documents作为沙盒里专门存储用户生成数据的文件夹,属于应用的「持久化数据区」,只会在应用被彻底删除时才会被清空。

举个例子:你第一次运行拍了3张照片存在Documents,修复bug后再运行,打开应用依然能看到这3张照片,甚至你还能继续拍新的照片追加进去。

2. 手动删除设备上的应用后,再从Xcode运行

这种情况就不一样了——当你删除设备上的应用时,系统会把这个应用对应的整个沙盒目录(包括Documents、Library、tmp等所有文件夹)彻底删除。这时候重新从Xcode安装运行,相当于一个全新的应用,Documents目录是空的,之前的照片自然就没了。

额外需要注意的特殊场景

还有几种少见但可能遇到的情况,也会导致数据被清除:

  • 如果你修改了应用的Bundle ID,Xcode会把它当成一个全新的应用,之前的旧应用会被删除,沙盒数据也会丢失;
  • 如果你在Xcode的「Devices and Simulators」窗口里,选中你的应用后点击「Delete App」,再重新运行,数据也会被清空;
  • 极少数情况下,Xcode构建时出现异常(比如签名冲突),会自动删除旧应用再重新安装,这时候数据也会丢失,但这种情况很少见,Xcode一般会提前提示你。

怎么验证数据是否保留?

如果你想确认Documents里的文件还在不在,可以用Xcode的「Devices and Simulators」工具:

  1. 连接你的物理设备,打开Xcode,点击顶部菜单的「Window」→「Devices and Simulators」;
  2. 在左侧列表选中你的设备,找到你的应用;
  3. 点击应用条目下方的「Download Container」,把沙盒下载到本地;
  4. 右键下载的.xcappdata文件,选择「Show Package Contents」,就能看到Documents目录里的所有文件了。

内容的提问来源于stack exchange,提问作者bmt22033

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 08:30:38