2011-01-20 11 views
9

Mam problemy z kopiowaniem folderów do projektów XCode za pomocą AppleScript. Bez Applescript przeciągam folder do Xcode.applescript do kopiowania folderów do Xcode?

Używam podobnego programu obsługi AppleScript, jak ten pokazany poniżej, do kopiowania bibliotek do XCode przy użyciu "wrapper.library" dla typu pliku. Poniżej używam "wrapper.folder", aby spróbować skopiować folder do XCode i nie działa.

on addFolder(fname, fpath) 
    tell application "Xcode" 
    tell project "Unity-iPhone" 
    set my_targets to targets 
    set s_target to item 1 of my_targets 
    set compile_phase to compile sources phase of s_target 
    set link_phase to get link binary with libraries phase of s_target 
    tell root group 
    set a to make new file reference with properties {full path:fpath & fname, name:fname, file type:"wrapper.folder"} 
    add a to link_phase 
    end tell 
    end tell 
    end tell 
    end addFolder 

Czy ktoś ma jakieś pomysły na temat tego, co mi brakuje lub jak napisać AppleScript skopiować folder w XCode?

+0

Jestem ciekaw, jak rozwiązałeś ten problem ... –

+0

Ta wtyczka Xcode może pomóc: https://github.com/larsxschneider/Xcode-Scripting-Interface –

+1

Nigdy nie znalazłem rozwiązania poza przeniesieniem foldery ręcznie. Wiem, że da się to zrobić, ponieważ użyłem skompilowanych Applescripts, które mogą przenosić foldery. –

Odpowiedz

1

To działa dla mnie:

--this is for xcode 3.x 
tell application "Xcode" 
    tell active project document 
     tell root group 
      --Note: Large folders make it seems that the script is hanging. Give it some time to list all items in the given folder. 
      make new file reference with properties {name:"My Desktop Folder", full path:(POSIX path of (path to desktop folder)), file type:"wrapper.folder"} 
     end tell 
    end tell 
end tell 

Kod dla Xcode 4 jest nieco inna

--this is for Xcode 4.x 
tell application "Xcode" 
    tell project 1 
     tell root group 
      --Note: big folders make it seems that the application (not the script like in Xcode 3) is hanging. Give it some time to list all items in the given folder. 
      make new file reference with properties {name:"My Desktop Folder", full path:(POSIX path of (path to desktop folder)), file kind:"folder"} 
     end tell 
    end tell 
end tell 

Opcja „skopiować do folderu docelowego w razie potrzeby” po prostu skopiować pliki do projektu (jeśli jeszcze tam nie są), a następnie zrób plik odniesienia do skopiowanych plików zamiast oryginalnych plików. Możesz zrobić to samo z Finderem lub poleceniem powłoki, np. Cp lub ditto, a następnie odwołać się do skopiowanych plików. Wtedy nie używałbym zamiast nich ścieżek pełnych lecz względnych. Przy relatywnych ścieżkach przeniesienie projektu do innego folderu nie spowoduje żadnych problemów.

+0

Interesujące. Spowoduje to dodanie odwołania do pliku folderu do projektu. (Zwróć uwagę, że ikona folderu jest niebieska, a nie żółta). Pliki te nie są jednak dodawane do fazy budowy lub kopiowania projektu. – ThomasW

Powiązane problemy