我刚刚查看了 JetBrains 的 App Code IDE,它似乎能够启动 iOS 模拟器并在其中运行应用程序。
当我不得不自动化我的项目部署时,我不得不求助于 Applescript 和 GUI 自动化。
他们似乎正在使用一个名为“simlauncher”的封闭工具。我想知道它背后的魔力是什么。
更新:
- 在查看活动监视器时,我看到 osascript 在模拟器启动之前从 simlauncher 启动。会不会又是 Applescript?我认为 iOS Simulator.app 不可编写脚本。
- iOS Simulator 好像是用launchd 启动的,所以simlauncher 肯定不是自己启动的。此外,simlauncher 仅在实际应用程序在模拟器中运行之前一直存在。也许他们正在投票?
- 对于设备构建,他们使用 AMDeviceService,这可能是 Apple 移动设备服务的一个版本。这是来自越狱 SDK 的技术吗?
'ps' 的输出中有关模拟器的更多信息:
plumenator 26404 12.9 1.3 290172 52772 ?? SX 8:56PM 0:03.62 /Users/plumenator/Library/Application Support/iPhone Simulator/4.3.2/Applications/817A280D-1F74-4755-B848-B04EC8A24ADA/xxx.app/xxx
plumenator 26395 2.3 0.3 444208 13560 ?? S 8:56PM 0:00.72 /Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone Simulator.app/Contents/MacOS/iPhone Simulator -SessionOnLaunch NO
plumenator 26402 1.4 0.8 318320 33052 ?? Us 8:56PM 0:00.86 /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk/System/Library/CoreServices/SpringBoard.app/SpringBoard -SBDisableAutoDim YES -SBAutoLockTime -1 -SBAutoDimTime -1 -SBDontLockAfterCrash YES -SBDidShowReorderText YES -SBFakeBars YES -SBDontAnimateAppleDown YES -SBEnableDoubleHeightToggling YES
plumenator 26406 0.0 0.4 2466496 15792 ?? Ss 8:56PM 0:00.16 /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/libexec/gdb/gdb-i386-apple-darwin --arch i386 --interp=mi1 -q
plumenator 26401 0.0 0.1 106584 5688 ?? S 8:56PM 0:00.30 /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk/usr/libexec/lsd
plumenator 26400 0.0 0.1 105228 4204 ?? S 8:56PM 0:00.13 /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk/usr/libexec/installd -t 30
plumenator 26399 0.0 0.3 223488 11464 ?? Ss 8:56PM 0:00.15 /Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone Simulator.app/Contents/MacOS/SimulatorBridge 26395
现在我想这只是根据 pid 对命令进行排序并执行它们的问题。:-)
不过有一个问题。所有这些二进制文件都指向模拟器平台根目录中的 dylib。当我直接运行它们时,它们会在“/”中寻找那些。
有没有办法在运行命令之前设置 dylibs 的路径?这看起来很有希望:http ://sacredsoftware.net/svn/misc/StemLibProjects/eaglshell/tags/2.1.0/Makefile