Подтвердить что ты не робот

Xcodebuild не работает в jenkins с cocoapods

Я использую плагин xcode. Я осмотрелся, но большинство "решений" не сработало.

Моя основная проблема заключается в том, что в генерируемом xcworkspace нет схемы для проекта, который я пытаюсь построить. Плагин выполняет команду

$ /usr/bin/xcodebuild -list -workspace Project.xcworkspace

и на выходе отображаются только схемы Pod, а не основная схема проекта.

Information about workspace "Project": Schemes: Pods Pods-AFNetworking Pods-Bolts Pods-Facebook-iOS-SDK

У меня есть сборка cocoapods с pod install

Я помещаю это в конфигурацию плагинов Xcode: Target: Project, clean before build, Configuration: Debug, файл схемы Xcode: Project, файл рабочей области Xcode: Project, Build output directory: ${WORKSPACE}/build.

Это ошибка, которая распечатывается:

Going to invoke xcodebuild:, scheme: Project, sdk: DEFAULT, workspace: Project, configuration: Debug, clean: YES, archive:NO, symRoot: DEFAULT, configurationBuildDir: /Users/ignat/.jenkins/workspace/Project/build, codeSignIdentity: DEFAULT
[Project] $ /usr/bin/xcodebuild -scheme Project -workspace Project.xcworkspace -configuration Debug clean build CONFIGURATION_BUILD_DIR=/Users/ignat/.jenkins/workspace/Project/build
Build settings from command line:
    CONFIGURATION_BUILD_DIR = /Users/ignat/.jenkins/workspace/Project/build

xcodebuild: error: The workspace 'Project' does not contain a scheme named 'Project'.
FATAL: Build directory does not exist at /Users/ignat/.jenkins/workspace/Project/build. Potential configuration issue.
Build step 'Xcode' marked build as failure
Finished: FAILURE
4b9b3361

Ответ 1

Как показывает вывод xcodebuild -list, ваше рабочее пространство имеет только схемы для Pods.

Если ваш экземпляр Jenkins вытащил ваш проект из репозитория, вероятно, вы не поделитесь своей схемой Project для всех.

Чтобы исправить это, вам нужно будет поделиться своей схемой для всех пользователей, использующих репо. В Xcode нажмите на название схемы, чтобы открыть меню схемы (верхний левый угол), и выберите "Управление схемами..."

Manage schemes menu

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

Manage Schemes dialog

После этого ваша схема Project должна быть указана в Jenkins.