2016-06-29 8 views
0

Ich versuche, meinen Code von Jenkins und CocoaPods zu archivieren.Jenkins iOS Build-Fehler: kein solches Modul 'XXX'

Aber Build Fehler, scheint es das Projekt kann das Modul von CocoaPods generiert finden.

i swift verwenden zu codieren und das Projekt bauen erfolgreich in Xcode

die podfile ist wie:

platform :ios, '8.0' 
use_frameworks! 

target 'MyProject' do 

pod 'AFNetworking' 
pod 'ObjectMapper' 

end 

das Fehlerprotokoll in Jenkins ist:

.... 
/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

Sobald Sie mit der Pod-Installation fertig sind, sollten Sie Ihren Xcode.workspace öffnen und es nicht als .project erstellen. Versuchen Sie es – Santosh

+0

danke für die Antwort, und es funktioniert. Und es gibt einen neuen Fehler, können Sie mir helfen, es zu beheben? 0 = _ = Code Sign Fehler: Bereitstellungsprofil stimmt nicht mit Paket-ID überein: Das Provisioning-Profil in Ihren Build-Einstellungen ("xxxxx") hat eine AppID von "me.xxx.ios", die nicht mit Ihrer Paket-ID "org.cocoapods.ObjectMapper" übereinstimmt. ** BUILD FAILED ** Die folgende bauen Befehle fehlgeschlagen: \t prüfen Abhängigkeiten Build-Schritt 'Xcode' als Versagen Finished bauen markiert: FAILURE' –

+0

Bitte markieren Sie unten als Antwort. Und für Ihre zweite Ausgabe, beziehen Sie sich auf: http://stackoverflow.com/questions/27973011/xcodebuild-different-provisioning-profile-for-target-dependency/29605731#29605731 – Santosh

Antwort

0

Sobald Sie sind Fertig mit pod install, sollten Sie Ihre .xcworkspace und nicht .xcodeproj öffnen. Bitte versuchen Sie es und lassen Sie es mich wissen.

2

Wie von @Santosh gezeigt, ist das Öffnen des Arbeitsbereichs das Richtige, wenn Sie die Xcode UI verwenden. Da Sie wahrscheinlich xcodebuild in der Befehlszeile verwenden (oder Jenkins ist), anstatt ein Projekt und ein Ziel anzugeben, müssen Sie xcodebuild mit einem Arbeitsbereich und einem Schema ausführen. Ich wollte das nur hinzufügen, als du nach Jenkins gefragt hast.

Also ohne CocoaPods, könnten Sie getan haben:

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

Jetzt, mit CocoaPods, müssen Sie:

xcodebuild -workspace MyProject.xcworkspace -scheme MyScheme -configuration

0

den Arbeitsbereich Name in der Jenkins Projektkonfiguration angeben. Folgen Sie Konfigurieren> Build> Xcode> Erweiterte XCode-Build-Optionen -> XCode-Arbeitsbereich-Datei. Dadurch konnten die jenkins das xcodebuild mit workspace statt project aufrufen und die pod-Abhängigkeiten enthalten. Stellen Sie sicher, dass Sie einen Build-Schritt vom Typ execute shell "/ usr/local/bin/pod install" vor dem xcode-Build-Schritt haben.

Verwandte Themen