2014-09-05 3 views
13

Я использую плагин xcode. Я огляделся, но большинство «решений» не сработало.Xcodebuild не работает в jenkins с cocoapods

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

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

и вывод показывает только схемы стручка, а не основная схема проекта.

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

Я имею cocoapods buildstep с pod install

Я поставил это как Xcode плагин конфига: Target: Project, чистую перед тем сборки, настройки: 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 

ответ

19

Как выход xcodebuild -list говорит, ваше рабочее место имеет только схемы стручков.

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

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

Manage schemes menu

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

Manage Schemes dialog

Ваша Project схема должна быть указана на Дженкинс после этого.

+0

Должна ли схема быть в проекте проекта проекта или проекта Pods? – Ignat

+0

Он принадлежит проекту Project, поскольку проект Pods управляет только контейнерами, а проект Project управляет всеми исходными файлами и настройками для вашего проекта. – LodeRunner

+0

Должна ли эта информация «Схемы» уже находиться в рабочей области? – Ignat

Смежные вопросы