用于在iPhone设备上清理、构建和安装的Applescript Xcode

用于在iPhone设备上清理、构建和安装的Applescript Xcode,iphone,xcode,applescript,Iphone,Xcode,Applescript,我正在尝试将ScriptXcode应用到构建和启动设备中。我的脚本如下: tell application "Xcode" open "tmp:iphone:myproject:Project.xcodeproj" tell project "Project" clean build launch end tell end tell 我的项目由两个目标组成,MainTarget和SideTarget,SideTarget是

我正在尝试将ScriptXcode应用到构建和启动设备中。我的脚本如下:

tell application "Xcode"
    open "tmp:iphone:myproject:Project.xcodeproj"
    tell project "Project"
        clean
        build
        launch
    end tell
end tell
我的项目由两个目标组成,MainTarget和SideTarget,SideTarget是作为MainTarget的直接依赖项添加的。我注意到,当我的applescript在一个预先清理过的项目上运行时(删除构建文件夹),只编译了65个文件,而当我在XCode中按下“构建并运行”按钮时,编译了130个文件

在运行applescript时,脚本中的“launch”命令似乎被忽略了——它根本不会在设备上启动。脚本完成时,底部栏中的状态为“构建成功”。“build”后面跟着“launch”与按XCode顶部栏中的“build&Run”按钮有什么区别

当构建和运行XCode时,该项目在设备上启动良好


我的主要问题是无法在设备上启动applescript。我不知道哪里出了问题。是否有人成功地编写了XCode脚本以在设备上启动?

build
build and run
是XCode的GUI中的两个独立命令(v3.1.4,其中
build and go(run)
build and debug
是其余部分)。但是Xcode字典仅显示通过Applescript支持的
build
。我想说的是,这两个命令都与GUI中的命令相同,在完美的as世界中,我们将在字典中看到
构建并运行
,以使其更加清晰


我的问题是
launch
是否真的在构建应用程序,还是只是在启动以前构建的可执行文件。

我也遇到过同样的问题。启动就是不起作用。您将不得不改用debug。
此外,调试会永远阻塞,因此使用timeout调用它,捕获超时错误并忽略它。

因此我决定通过首先使用设备构建的正确选项执行命令行xcodebuild,然后运行上面的applescript,但不使用clean和build命令来快速修复此问题。然后,该应用程序在设备上很好地启动。我仍然想知道通过applescript发出的build命令和在XCode中发出的build命令之间的区别。在我看来,现在还可以只执行一个GUI脚本来执行菜单栏中的“Build&Run”,而不是像我那样执行xcodebuild和launch脚本。launch仅在有可执行文件的情况下启动已构建的可执行文件。如果在执行启动之前清理了项目,则它不会执行任何操作,除非退出时出现“无法启动可执行文件”错误。