Как автоматизировать изменения проекта XCode? - PullRequest
3 голосов
/ 14 сентября 2010

У меня есть утомительная задача, которую мне нужно повторять каждый раз, когда я создаю свой проект iPhone для отправки коллегам, не являющимся программистами: все библиотеки и заголовки, на которые я ссылаюсь за пределами папки проекта, необходимо скопировать в папку проекта или подпапку его, чтобы я мог заархивировать источник и передать его.

Я знаю, что вы можете автоматизировать XCode с помощью AppleScript, но я не могу на всю жизнь найти надлежащую документацию по доступным командам. Если я использую автоматизацию AppleScript для XCode, я получу кучу хитов при написании приложений AppleScript в Xcode.

Любая помощь будет принята с благодарностью!

Ответы [ 2 ]

3 голосов
/ 16 сентября 2010

вот демонстрация, чтобы вы начали.так как вы знаете, как найти словарь, остальное может быть легко, если вам удобно использовать AppleScript:

tell application "Xcode"
    -- of course, use your project's name instead of Alias
    set projectName to "Alias" 
    set xcProject to project projectName

    repeat with idx from 1 to the count of (get every file reference of xcProject)
        set fileRef to (file reference idx) of xcProject
        get path of fileRef
        get id of fileRef
        get name of fileRef
        get properties of fileRef

        set newPath to path of fileRef
        -- add logic and alterations here
        set path of fileRef to newPath
        -- ...
    end repeat
end tell
1 голос
/ 14 сентября 2010

на основе вашего описания, было бы проще создать пользовательскую цель в xcode для выполнения этой задачи.xcode может запускать всевозможные утилиты Unix для копирования, архивирования и т. д. Так ... сценарии оболочки должны быть намного проще.вы также можете установить эту цель как зависимую, если хотите, так что она всегда остается актуальной (но немного медленной для обычной разработки, tbh.

да, вы можете использовать applecript с xcode во многихслучаев, но это будет гораздо сложнее для задачи, которую вы изложили.

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