Xcode 13如何实现强制全量重建并自动清理模拟器应用?
模拟器自动删除应用+全量重建的实现方案
你需要删除应用清理AppStorage(UserDefaults)残留数据的需求可以通过以下两种快捷方式实现:
- 快速手动组合操作(无需改项目配置)
- 先在Xcode界面按
shift + command + K清理旧的构建缓存 - 点击激活当前测试用的模拟器窗口,按
shift + command + delete选择确认擦除模拟器所有内容和设置 - 直接按
command + R执行全量构建运行即可,整个流程连贯操作仅需2-3秒
该方案适合不需要保留模拟器内其他应用数据的测试场景。
- 先在Xcode界面按
- 一键自动执行方案(修改项目配置后仅需按
command + R即可完成所有操作)
打开Xcode项目后按以下步骤配置预构建脚本:- 进入
TARGETS > 你的测试应用名称 > Build Phases,点击左上角的+号选择New Run Script Phase,将新增的脚本阶段拖到所有编译步骤的最前面 - 在脚本输入框中粘贴以下代码,将代码中的Bundle ID替换为你的测试应用的真实Bundle ID:
配置完成后每次按if [ "${CONFIGURATION}" = "Debug" ]; then TARGET_BUNDLE_ID="com.yourteam.yourapp" CURRENT_SIM_UDID=$SIMULATOR_DEVICE_ID xcrun simctl uninstall $CURRENT_SIM_UDID $TARGET_BUNDLE_ID ficommand + R运行时,Xcode会自动先在当前模拟器卸载旧应用、清理所有本地存储数据,再执行全量构建运行,不需要额外手动操作。 - 进入
小提示:如果不想卸载应用仅清空AppStorage存储的内容,可以把脚本中的
xcrun simctl uninstall指令替换为xcrun simctl erase appdata $CURRENT_SIM_UDID $TARGET_BUNDLE_ID,构建启动速度会更快。
内容的提问来源于stack exchange,提问作者Paul
相关产品推荐
相关产品推荐

