Powiedz AppleScript Zbudować Projekt XCode

Oto kroki, które chciałbym wykonać:

  1. Uruchom xcode
  2. Otwórz konkretny plik xcodeproj
  3. build and debug it
  4. quit xcode

Oto moja pierwsza próba napisania AppleScript:

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

To działa tylko wtedy, gdy Xcode ma ten projekt otwarty. Chciałbym, aby projekt został otwarty tylko wtedy, gdy jest to konieczne.

Czy jakiś Guru Applescriptu może wskazać mi właściwy kierunek? Dzięki.

-chuan -

Author: chuan, 2009-06-17

4 answers

Chyba udało mi się to rozwiązać. Poniżej znajduje się 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

Ścieżka musi być w formacie": "zamiast"/". Jedynym problemem jest to, że po wykonaniu przez konsolę debugowania AppleScript wydaje się" wisieć " tak, jakby czekał na coś, co się stanie. Muszę zrobić więcej badań na AppleScript, aby wiedzieć, co jest nie tak ze skryptem.

 12
Author: chuan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-06-17 15:31:43

Nie jestem pewien co do Applescriptu, ale można go skompilować z linii poleceń, bez otwierania Xcode ide, tak:

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

Gdzie Konfiguracja jest oczywistą opcją, target jest nazwą na liście docelowej xcode i nazwą projektu na końcu.

 4
Author: stefanB,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-06-17 13:43:22

Istnieje narzędzie wiersza poleceń o nazwie xcodebuild (strona podręcznika tutaj), które może działać lepiej dla tego, co chcesz osiągnąć.

 2
Author: pgb,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-06-17 13:42:31

Ponieważ debugowanie może zająć dowolną ilość czasu, prawdopodobnie potrzebujesz bloku" with timeout of seconds " / "end timeout" wokół wiadomości debugowania.

 2
Author: cdespinosa,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-06-17 17:22:52