如何了解iOS模拟器上所有应用程序的Bundle标识符

6

如何获取iOS模拟器上安装的所有应用程序的bundle标识符?

我想通过脚本自动卸载名为WebDriverAgent(由Appium使用)的特定应用程序。

例如:

xcrun simctl uninstall booted com.example.apple-samplecode.UICatalog

我有完全相同的需求,为了完全相同的目标。你设法找到方法了吗?在 Xcode 的 AppleScript 中,我设法获得当前方案,但我只能获取它的名称或其 ID(但不是 Bundle ID...)。 - AnthoPak
不记得我是否这样做过,但我认为捆绑包标识符可能在每个应用程序都有的配置文件中,因此也许可以使用grep或find获取这些文件的数组,然后从文件中解析出捆绑包标识符,我似乎记得文件叫做plist,但不确定。 - the_prole
感谢您的回答。问题在于,在 Info.plist 中,它只是引用了 $(PRODUCT_BUNDLE_IDENTIFIER)。最终我使用了这个命令 https://gist.github.com/shazron/6093283#gistcomment-2360716,现在它可以正常工作 :) - AnthoPak
3个回答

13
xcrun simctl listapps {DEVICE_UUID}

将列出模拟器上安装的所有应用程序


2
要查找设备 UUID,您可以使用以下命令:xcrun simctl list devices --json - Mehrad
完美的答案! - user2451016
2
您还可以使用特殊标识符“booted”来指定设备。因此,“xcrun simctl listapps booted”。 - Michael McGuire

3

用于模拟器

ideviceinstaller -l -o list_all

适用于真实设备

ideviceinstaller -u <UDID> -l -o list_all

1

应用程序安装在此目录中:〜/Library/Developer/CoreSimulator/Devices/[DeviceID]/data/Containers/Data/Application/ [DeviceID] 是您正在使用的模拟器的UDID。每次安装新应用时都会创建一个新目录。

我打赌你的WebDriverAgent就在那里,可以被删除。


我能够使用 useNewWDA=true 的能力。 - the_prole
很好!很棒,你自己解决了。也许你可以为将来遇到同样问题的读者更详细地解释一下 :) - palme
这些是捆绑标识符吗?它们是什么? - the_prole
在这些随机编号的文件夹中是否可能找到捆绑标识符? - the_prole
这当然取决于你的情况。你可能只会在那个文件夹中找到一个应用程序。即使你查看应用程序包内容,获取其捆绑标识符也不容易。我猜这确实是苹果有意为之 ;) - palme
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接