Невозможно собрать проект XCode 4 из Textmate - PullRequest
4 голосов
/ 11 июня 2011

Я открыл недавно созданный проект XCode 4 в TextMate (путем удаления папки проекта на значке TextMate, как предлагает руководство) и попытался создать его с помощью сочетания клавиш Command-B и выбрав 2 для сборки XCode.Я получаю следующую ошибку

xcodebuild: error: invalid option '-activebuildstyle'
Usage: xcodebuild [-project <projectname>] [[-target <targetname>]...|-alltargets] [-configuration <configurationname>] [-arch <architecture>]... [-sdk [<sdkname>|<sdkpath>]] [<buildsetting>=<value>]... [<buildaction>]...
       xcodebuild -workspace <workspacename> -scheme <schemeName> [-configuration <configurationname>] [-arch <architecture>]... [-sdk [<sdkname>|<sdkpath>]] [<buildsetting>=<value>]... [<buildaction>]...
       xcodebuild -version [-sdk [<sdkfullpath>|<sdkname>] [<infoitem>] ]
       xcodebuild -list [[-project <projectname>]|[-workspace <workspacename>]]
       xcodebuild -showsdks
Options:
    -usage                print full usage
    -verbose              provide additional status output
    -project NAME         build the project NAME
.
.
.
.

Любая идея, где я могу изменить запускаемую команду, указав опцию '-activebuildstyle'?

команда, кажется, находится в TextMate.app/Contents/SharedSupport/Bundles/Xcode.tmbundle/Support/run_xcodebuild.sh

строка 57/60 имеет "-activebuildstyle" (переменная STYLEARGNAME устанавливается в строке 36).

конечно, это может быть только одна ошибка в серии проблем совместимости xcode 4 / textmate.

1 Ответ

3 голосов
/ 25 августа 2011

вы хотите изменить /Applications/TextMate.app/Contents/SharedSupport/Bundles/Xcode.tmbundle/Support/bin/xcode_version.rb для обнаружения xcode 4, замените эту строку

@@xcode2dot1_or_later = (version_match != nil && ...

этой:

xcode4 = /Xcode 4\./.match(version_str)
@@xcode2dot1_or_later = xcode4 || (version_match != nil && ...

вы также хотите изменить /Applications/TextMate.app/Contents/SharedSupport/Bundles/Xcode.tmbundle/Support/bin/run_xcodebuild.sh (строки, которые я прокомментировал, являются оригиналами)

if [[ -n $TM_BUILDSTYLE ]]; then    
    # If we have an Xcode project, and it doesn't contain the build style we're looking for,
    # accept the active build style in the project.
    if [[ -d $PROJECT_FILE ]] && xcodebuild -project "$PROJECT_FILE" -list | awk 'display == "yes" { sub(/^[ \t]+/, ""); print }; /Build (styles|Configurations)/ { display = "yes" }' |    grep -F "${BUILD_STYLE}" &>/dev/null; then
        BUILD_STYLE="-$STYLEARGNAME $BUILD_STYLE";
    else
        # BUILD_STYLE="-active$STYLEARGNAME"
        BUILD_STYLE=""
    fi
else
    # BUILD_STYLE="-active$STYLEARGNAME"
    BUILD_STYLE=""
fi 
...