Wie fügen Sie Xcode benutzerdefinierte Projektkonfigurationen hinzu, wenn Sie CocoaPods verwenden?
Ich habe ein iOS - /OS X-Xcode-Projekte, wo ich bin mit CocoaPods, und ich kann nicht scheinen, um herauszufinden, wie man meine eigenen Projekt-Konfigurationen (neben Debug und Release) komplett ohne Sprengung der build.
In das Projekt, habe ich eine Reihe von Zielen, für die apps auf beiden Plattformen und Ihre app-Erweiterungen. Die Xcode-Arbeitsbereich hat man natürlich auch mit dem Pods-Projekt.
Weil das Projekt baut Ziele für iOS und Mac, ich benutze CocoaPods "Ziele" zu Gruppe Ihren Hülsen zusammen. Meine Podfile sieht ungefähr so aus:
source 'https://github.com/CocoaPods/Specs.git'
target :iOS do
platform :ios, '7.1'
link_with 'iOS', 'NozbeToday', 'NozbeShare', 'NozbeWatch'
# pods...
end
target :Mac do
platform :osx, '10.9'
link_with 'Mac'
# pods...
end
Nun, hier ist, wo habe ich ein problem. So weit ich habe nur den Standard - "Debug" und "Release" - Konfiguration ist in meinem Projekt. Ich wollte, Sie zu ändern und fügen Sie einige neue für verschiedene provisioning-Profil/bundle-ID Kombination.
... und ich bin stecken. Ich kann nicht herausfinden, wie dies zu tun.
Ersten Anzeichen des Problems war eine Warnung pod install
spuckte aus für jedes Ziel - /Konfigurations-Kombination:
[!] CocoaPods nicht die Basis-Konfiguration Ihres Projekts
da das Projekt bereits ein custom-config eingestellt. Damit
CocoaPods integration überhaupt zu arbeiten, wenden Sie sich bitte entweder die Basis -
Konfigurationen der Ziel -NozbeToday
zuPods/Target Support
oder sind die
Files/Pods-iOS/Pods-iOS.dev debug.xcconfig
Pods/Target Support Files/Pods-iOS/Pods-iOS.dev debug.xcconfig
im
Ihr build-Konfiguration.
Ich konnte nicht herausfinden, was es bedeutet und wie man dieses Problem beheben. So oder so, das Projekt würde nicht bauen — im besten Fall, ich würde eine linker-Fehlermeldung, dass es nicht finden können Pods-something.a
...
InformationsquelleAutor der Frage radex | 2015-05-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
OK, so halbwegs durch das schreiben dieser Frage habe ich es herausgefunden habe (yay rubber ducking). Hier ist die Lösung für die nächsten Generationen:
Im wesentlichen müssen Sie eine explizite Abhängigkeit von der Schoten-Ziel auf Ihrem Programm.
Wie Sie es tun, ist: editieren Sie das Programm, gehen Sie auf die Build-Abschnitt, und fügen Sie die Hülsen Ziel oben Ihre Anwendung Ziel. Sie sollten so etwas wie dieses:
Und es wird einfach funktionieren.
Als für die CocoaPods-Warnungen auf
pod install
verwenden, benötigen Sie diexcconfig
- Dateien generiert, die durch die CP für jede Ihrer Xcode-Konfigurationen. Die Art und Weise Sie es tun, ist:Pods/Target Support Files
Müssen Sie auch etwas ähnliches in Ihrem Podfile zu lassen CocoaPods wissen, welche Xcode-Konfigurationen "debug" (nicht optimierten), die "release":
Nicht genau verwandt CocoaPods, aber wenn Sie geschehen, haben eine andere (sub-Projekt) Abhängigkeiten zu anderen als CP, müssen Sie zwei Dinge tun:
InformationsquelleAutor der Antwort radex
Fügen Sie diese Zeile in Ihre config-Datei, einfach so importieren Sie eine header-Datei:
HINWEIS: es ist
#include
, nicht#import
InformationsquelleAutor der Antwort leavez