2016-06-29 4 views
0

Я пытаюсь архивировать свой код Jenkins и CocoaPods.Jenkins Ошибка сборки iOS: нет такого модуля 'XXX'

Но ошибка сборки, похоже, проект может найти модуль, созданный CocoaPods.

я использовать скор на код, и проект успешно строить в Xcode

podfile, как:

platform :ios, '8.0' 
use_frameworks! 

target 'MyProject' do 

pod 'AFNetworking' 
pod 'ObjectMapper' 

end 

журнал ошибок в Дженкинс:

.... 
/Users/xxx/.jenkins/jobs/LIFE_iOS/workspace/MyProject/Core/Model/ItemResult.swift:10:8: error: no such module  'ObjectMapper' 
import ObjectMapper 
    ^

** BUILD FAILED ** 


The following build commands failed: 
CompileSwift normal arm64 /Users/xxx/.jenkins/jobs/LIFE_iOS/workspace/MyProject/MGFramework/CustomViews/MartyJunior/MJTableViewTopCell.swift 
... 
CompileSwiftSources normal arm64 com.apple.xcode.tools.swift.compiler 
(5 failures) 
Build step 'Xcode' marked build as failure 
Finished: FAILURE 
+0

Как только вы закончите установку pod, вы должны открыть свой Xcode.workspace и создать его не .project. Попробуйте – Santosh

+0

Благодарим за внимание, и это сработает. И есть новая ошибка, можете ли вы помочь мне исправить это? '=== BUILD TARGET ObjectMapper PROJECT Pods WITH CONFIGURATION Release === Проверка зависимостей Ошибка кодового знака: профиль Provisioning не совпадает с идентификатором пакета: Профиль подготовки, указанный в настройках сборки (« xxxxx »), имеет AppID «me.xxx.ios», который не соответствует вашему идентификатору пакета «org.cocoapods.ObjectMapper». ** BUILD FAILED ** Следующие построения команды не удалась: \t проверки зависимостей Сложение шаг 'Xcode' отмечены строить как отказ Выполнил: FAILURE' –

+0

Пожалуйста, отметьте ниже в качестве ответа. И для вашей второй проблемы обратитесь к этому: http://stackoverflow.com/questions/27973011/xcodebuild-different-provisioning-profile-for-target-dependency/29605731#29605731 – Santosh

ответ

0

После того, как вы сделанное с помощью pod install, вам следует открыть .xcworkspace, а не .xcodeproj. Пожалуйста, попробуйте и дайте мне знать.

2

Как указано @Santosh, открытие рабочего пространства является правильным решением при использовании интерфейса Xcode. Как вы, вероятно, используете xcodebuild в командной строке (или Jenkins), вместо указания проекта и цели вам нужно запустить xcodebuild с рабочим пространством и схемой. Просто хотел добавить это, поскольку вы просили Дженкинса.

Так что без CocoaPods, вы могли бы сделать:

xcodebuild -project MyProject.xcodeproj -target MyTarget -configuration Release

Теперь, с CocoaPods, вы должны:

xcodebuild -workspace MyProject.xcworkspace -scheme MyScheme -configuration

0

Укажите имя рабочего пространства в конфигурации Дженкинс проекта. Следуйте настройке> build> Xcode> Дополнительные параметры сборки XCode -> Файл рабочей области XCode. Это позволило jenkins вызывать xcodebuild с рабочей областью, а не с проектом, и которая включает в себя зависимости pod. Убедитесь, что у вас есть шаг сборки типа execute shell «/ usr/local/bin/pod install» до этапа сборки xcode.

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