Tell AppleScript To Build XCode Project
-
06-07-2019 - |
Question
The following are the steps I would like to have:
- launch xcode
- open a specific xcodeproj file
- build and debug it
- quit xcode
The following is my first attempt to write AppleScript:
tell application "Xcode"
tell project "iphone_manual_client"
debug
end tell
close project "iphone_manual_client"
end tell
This only works when xcode has this project opened. I would like to have the project to be opened only when it is necessary to do so.
Can any AppleScript gurus out there points me to the right direction? Thanks.
-chuan-
Solution
I think I managed to solve it. The following is the 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
The path has to be in format of ":" instead of "/". The only problem now is that after the debug console has done its job, AppleScript seems to "hang" as though waiting for something to happen. I need to do more research on AppleScript to know what is wrong with the script.
OTHER TIPS
I'm not sure about AppleScript but you can compile it from command line, without opening xcode ide, like this:
xcodebuild -configuration Debug -target WhatATool -project WhatATool.xcodeproj
Where configuration is obvious option, target is the name in Target list of xcode and the project name at the end.
There's a command line utility called xcodebuild
(man page here) which may work better for what you want to accomplish.
Since debugging can take an arbitrary amount of time, you probably want a "with timeout of seconds" / "end timeout" block around the debug message.