яблочный скрипт для копирования папок в Xcode? - PullRequest
9 голосов
/ 20 января 2011

У меня проблемы с копированием папок в проекты XCode с помощью AppleScript.Без Applescript я перетаскиваю папку в Xcode.

Я использовал аналогичный обработчик Applescript, как показано ниже, для копирования библиотек в XCode с использованием «wrapper.library» для типа файла.Ниже я использую «wrapper.folder», чтобы попытаться скопировать папку в XCode, и она не работает.

    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

У кого-нибудь есть идеи о том, чего мне не хватает или как написать Applescriptскопировать папку в XCode?

1 Ответ

1 голос
/ 25 января 2012

Это работает для меня:

--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

Код для Xcode 4 немного отличается

--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

Опция «копировать в папку назначения при необходимости» просто скопируйте файлыв проект (если их там еще нет), а затем сделайте ссылку на файл на скопированные файлы вместо оригинальных файлов.Вы можете сделать то же самое с помощью Finder или команды оболочки, такой как cp или ditto, а затем сделать ссылку на скопированные файлы.Тогда я бы не использовал полный путь, а относительные пути вместо этого.С относительными путями перемещение проекта в другую папку не доставит вам никаких проблем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...