Xcode 11.2.1模拟器13.2.2每日通过nsurlsessiond下载450MB是否正常?
关于iOS 13.2.2模拟器中nsurlsessiond持续下载450MB数据的问题
这种每日持续下载约450MB数据的情况绝对不正常——nsurlsessiond是负责处理系统与应用NSURLSession网络请求的核心进程,正常状态下只会处理必要的任务(比如应用后台下载、系统小更新),不会出现这种大量、持续的下载行为。
从日志看问题根源
从你提供的lsof输出能看到,进程正在操作com.apple.mobileassetd的缓存文件(/Users/xxxx/Library/Developer/CoreSimulator/Devices/[设备ID]/data/Library/Caches/com.apple.nsurlsessiond/Downloads/com.apple.mobileassetd/...),这说明下载的是Apple移动资产(比如模拟器缺失的系统组件、框架资源或缓存文件),但显然这个过程陷入了重复下载的循环。
可能的原因
- iOS 13.2.2是较旧的模拟器版本,可能存在已知的资源下载bug,导致进程不断尝试获取已失效或无法完成的资源
- 模拟器的缓存目录损坏,
nsurlsessiond无法识别已下载的资源,因此重复发起请求 - Xcode与模拟器的资源同步任务卡住,导致后台持续重试下载
解决建议
试试以下步骤逐步排查:
- 重启基础环境:先关闭所有模拟器实例,完全退出Xcode,然后重新打开并启动模拟器,观察下载是否停止
- 清理模拟器缓存与重置:
- 打开Xcode,进入
Window > Devices and Simulators - 选中你的iOS 13.2.2模拟器,右键选择
Delete,之后重新添加该版本的模拟器 - 也可以手动清理指定模拟器的
nsurlsessiond缓存:删除路径~/Library/Developer/CoreSimulator/Devices/F0685A70-DEB9-4786-8368-CF98BAC7FD1A/data/Library/Caches/com.apple.nsurlsessiond/下的所有文件
- 打开Xcode,进入
- 重置nsurlsessiond进程:在终端执行
sudo killall nsurlsessiond,然后重启你的Mac,让系统重新初始化该进程 - 升级Xcode版本:iOS 13.2.2对应的Xcode 11.2.1是比较老旧的版本,很多已知bug在后续版本中已修复,建议升级到兼容的较新Xcode版本(比如Xcode 14.x),再重新测试
如果以上方法都无效,可以通过终端命令查看nsurlsessiond的实时日志,定位具体下载的资源:
log stream --predicate 'process == "nsurlsessiond"' --info
从日志里能看到它请求的具体URL,进一步判断是哪个资源导致的循环下载。
内容的提问来源于stack exchange,提问作者Vinu K.N
相关产品推荐
相关产品推荐

