在为iPhone模拟器构建应用程序时,有没有简单的方法清理Xcode部署应用程序的目录?如果需要,在启动时会将sqlite数据库复制到文档文件夹中。问题是,如果我更改了架构,则不会复制新的数据库,因为已经存在一个。
理想情况下,每次构建时都会删除先前的内容。这是可能的吗,还是我必须手动执行此操作?
在为iPhone模拟器构建应用程序时,有没有简单的方法清理Xcode部署应用程序的目录?如果需要,在启动时会将sqlite数据库复制到文档文件夹中。问题是,如果我更改了架构,则不会复制新的数据库,因为已经存在一个。
理想情况下,每次构建时都会删除先前的内容。这是可能的吗,还是我必须手动执行此操作?
来自苹果开发资源:
要将模拟器的用户内容和设置还原为出厂状态并删除已安装的应用程序,请选择设备 > 擦除所有内容和设置。
(在旧版本上:iPhone 模拟器 > 重置内容和设置。)
这个模拟器将应用程序安装到:
"$HOME/Library/Application Support/iPhone Simulator/User/Applications"
另外还要检查:
"$HOME/Library/Developer/CoreSimulator/Devices"
GUID文件和目录与模拟器安装的应用程序相匹配。
手动删除所有这些文件/目录以从模拟器中删除所有应用程序。
我知道有一种方法可以在XCode的构建过程中添加脚本。
此外,看起来XCode每次构建时都会更改它所使用的GUID(我的应用程序所在的目录在XCode的每次构建之间都会更改),因此尝试始终删除相同的目录将不起作用。如果您一次只处理一个应用程序,则清除整个目录可能是一个选项。
git reset HEAD --hard && git clean -f
以在添加后删除日历订阅。 - Thibault D.我做这个的方法很简单,只需在模拟器中点击并长按我的应用程序图标,然后当它开始摇晃时,点击黑白(x)按钮。会弹出一个消息询问您是否真的要删除,您只需要点击是即可。下次构建和部署应用程序时,将毫无问题地使用新的sqlite数据库,而无需在文件系统中混乱地操作。
iOS 5及其之后版本,在Mac OS X Lion上,你可以尝试以下步骤:
RemoveSimulatorApps.command
的脚本,并包含以下内容:rm -rf "$HOME/Library/Application Support/iPhone Simulator/5.0/Applications/*"
PATH
中的某个目录下。chmod +x RemoveSimulatorApps.command
虽然可能有些过度,但是...
你也可以使用菜单和“重置内容和设置...”
对于Xcode >= 6版本
xcrun simctl list | grep -oh '[A-Z0-9]\{8\}-[A-Z0-9]\{4\}-[A-Z0-9]\{4\}-[A-Z0-9]\{4\}-[A-Z0-9]\{12\}' | xargs -n1 xcrun simctl erase
xcrun simctl erase all
从Xcode 6开始,你可以通过命令行执行以下操作:xcrun simctl erase
iOS模拟器应用程序(包括Xcode 6版本和早期版本)还有一个名为“重置内容和设置”的菜单项,可用于擦除当前启动的设备。