通过命令行在模拟器上删除应用程序

时间:2012-11-27 02:51:17

标签: xcode bash ios-simulator ui-automation

我正在编写一个自动化测试,它将使用Instruments automator在我的应用程序上运行一系列UX测试。问题是,我需要应用程序在我正在运行的特定测试集的全新安装上运行。有没有办法通过命令行删除模拟器中的应用程序?

具体来说,我正在寻找类似的东西:

xcodeBuild -delete myApp.app

2 个答案:

答案 0 :(得分:2)

这样的事情可能有用,虽然我还没有完全测试过:

rm -rf ~/Library/Application\ Support/iPhone\ Simulator/6.0/Applications/*

当然替换6.0的正确模拟器版本号。

答案 1 :(得分:0)

我实际上最终使用了此处找到的解决方案:https://stackoverflow.com/a/5128616/608739

苹果脚本运行良好,可以解决所有那些讨厌的模拟器问题。

---------------旧帖子-------------------

使用jpancoast的主角,我修改了他的脚本,以便在模拟器上查找并清除最新版本的应用程序:

CURRENT_SDK=""
if [ -z "$RUN_ON_SPECIFIC_DEVICE_OPTION" ] ; then
    CURRENT_SDK=$(xcodebuild -showsdks | grep 'iphoneos[0-9].[0-9]' | grep -o '[0-9].[0-9]' | head -n1)
else
    CURRENT_SDK=$(xcodebuild -showsdks | grep 'iphonesimulator[0-9].[0-9]' | grep -o '[0-9].[0-9]' | head -n1)
fi
rm -rf ~/Library/Application\ Support/iPhone\ Simulator/"$CURRENT_SDK"/Applications/*

脚本会检查我们当前是否在设备上运行。然后,它会找到与最新SDK相对应的文件夹(假设您的项目正在该SDK上构建),并删除与该SDK版本关联的所有应用程序。可以进一步细化以仅删除您感兴趣的特定应用程序。