Создайте и Выполнение проект XCode через AppleScript

Существует опечатка в Вашем коде (тег закрывается слишком рано). Можно или использовать:


отмечают эти , возврат (подтверждает) : значение, возвращенное сценариями во внутреннем, выравнивает, решает, выполняется ли действие браузера по умолчанию или нет; в случае, если необходимо выполнить большую часть кода, можно, конечно, вызвать другую функцию:


...

(отмечают, что удаляют, ключевое слово)

Для полноты: современные браузеры также поддерживают события DOM, позволяя Вам зарегистрировать больше чем один обработчик для того же события на каждом объекте, получить доступ к деталям события, остановить распространение и намного больше; см. События .

DOM

10
задан probablyCorey 4 October 2009 в 23:19
поделиться

3 ответа

Вот трюк ... вам нужно установить настройку сборки SDKROOT. Вот сценарий zsh, который я использую, чтобы найти проект xcode в текущей иерархии, построить его и запустить через xcode.

#!/bin/zsh

BUILD_PATH=$(dirname $0)

while [[ -z $BUILD_FILE && $BUILD_PATH != "/" ]]; do
    BUILD_FILE=$(find $BUILD_PATH -name '*.xcodeproj' -maxdepth 1)
    BUILD_PATH=$(dirname $BUILD_PATH)
done

if [[ -z $BUILD_FILE ]]; then
    echo "Couldn't find an xcode project file in directory"
    exit 1
fi

# Applescript likes's : instead of / (because it's insane)
BUILD_FILE=${BUILD_FILE//\//:}

# Find the latest Simulator SDK
SIMULATOR_SDKS=( /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/*.sdk )

SIMULATOR_SDK=${SIMULATOR_SDKS[-1]} 
SIMULATOR_SDK_STRING=$(basename ${(L)SIMULATOR_SDK%.[a-z]*})

if [[ -z $SIMULATOR_SDK ]]; then
    echo "Couldn't find a simulator SDK"
    exit 1
fi


osascript <<SCRIPT
application "iPhone Simulator" quit
application "iPhone Simulator" activate

tell application "Xcode"
    open "$BUILD_FILE"
    set targetProject to project of active project document

    tell targetProject
        set active build configuration type to build configuration type "Debug"
        set active SDK to "$SIMULATOR_SDK_STRING"
        set value of build setting "SDKROOT" of build configuration "Debug" of active target to "$SIMULATOR_SDK"

        if (build targetProject) is equal to "Build succeeded" then
            launch targetProject
        else
            application "iPhone Simulator" quit
        end if
    end tell
end tell
SCRIPT
12
ответ дан 3 December 2019 в 20:42
поделиться

Другой вариант, который следует рассмотреть, - использовать Applescript для запуска сценария оболочки, который выполняет программу xcodebuild . xcodebuild позволяет вам указывать такие вещи, как конкретная цель, конфигурация, sdk и т. Д. Я использую это все время, когда мне нужно подключиться к серверу сборки по SSH и пересобрать проект.

3
ответ дан 3 December 2019 в 20:42
поделиться

Если команда set active SDK не работает должным образом, временным решением будет создание другой конфигурации сборки с именем «Debug-Simulator» (в Xcode в настройках проекта ), и установить базовый SDK в новой конфигурации на iphonesimulator3.0. Это позволит вам выбрать SDK, выбрав конфигурацию сборки (если она работает в AppleScript).

1
ответ дан 3 December 2019 в 20:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: