让AppleScript构建XCode项目。

13

以下是我想要的步骤:

  1. 启动 Xcode
  2. 打开特定的 xcodeproj 文件
  3. 构建并调试它
  4. 退出 Xcode

以下是我第一次尝试编写 AppleScript:

tell application "Xcode"
    tell project "iphone_manual_client"
        debug
    end tell
    close project "iphone_manual_client"
end tell

只有当 Xcode 打开了这个项目时才有效。我希望只在必要时打开该项目。

有没有什么 AppleScript 大牛可以指点一下方向?谢谢。

-chuan-

4个回答

13

我认为我已经解决了它。以下是AppleScript代码:

tell application "Xcode"
    open "Users:chuan:Desktop:iphone_manual_client:iphone_manual_client.xcodeproj"
    tell project "iphone_manual_client"
            clean
            build
            (* for some reasons, debug will hang even the debug process has completed. 
               The try block is created to suppress the AppleEvent timeout error 
             *)
            try
                debug
            end try
    end tell
    quit
end tell

路径应该采用“:”的格式,而不是“/”。现在唯一的问题是,在调试控制台完成工作后,AppleScript 似乎会“挂起”,好像在等待某些事情发生。我需要更多地研究 AppleScript 才能知道脚本的问题所在。


你知道如何检查调试是否已经在运行吗?我在脚本的后续执行中遇到了一个问题:“无法调试可执行文件,因为调试会话正在进行中”。 - Aaron McAdam
嗨,亚伦,我想另一个选择是在运行新的测试集之前强制关闭XCode并重新启动XCode?这可能会解决你面临的问题。 - chuan
3
很不幸,Xcode 4 破坏了许多 AppleScript 功能,包括“运行”和“调试”功能。看起来上面的脚本已经不再起作用了。 - ThomasW
你必须在“告诉项目”命令中删除“项目”一词。 - Velcro

4

我不确定AppleScript,但你可以在命令行中编译它,而不必打开Xcode IDE,方法如下:

xcodebuild -configuration Debug -target WhatATool -project WhatATool.xcodeproj

当配置是明显的选项时,目标是Xcode目标列表中的名称,最后是项目名称。


2
嗨 Stefan, 感谢您的回复。这将构建应用程序。我需要使用 Xcode 的原因是它针对 iPhone 具有上传和远程调试机制。除了 Xcode 之外,没有命令行工具可以让我轻松地将新编译的 iPhone 应用程序上传到真实设备上。 - chuan

2

有一个命令行实用程序叫做xcodebuild(手册在这里),可能更适合您想要完成的任务。


1
嗨pgb,xcodebuild只能帮我构建应用程序。它无法帮助我将应用程序上传到iPhone并从那里进行调试。 - chuan

2

由于调试可能需要任意长的时间,您可能希望在调试消息周围加上“with timeout of seconds”/“end timeout”块。


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