2013-09-22 12 views
8

Wie kann ich ein Framework für iOS mit Xcode 5 erstellen? Ich habe zuvor (vor Xcode 5) eine GitHub project verwendet, die mich eine Fake Framework erstellen lassen. In Xcode 5 scheint es, dass es nicht mehr funktioniert. Irgendwelche Vorschläge?So erstellen Sie ein iOS-Framework mit Xcode 5

UPDATE: Um klar zu sein Ich füge statische Bibliotheken/Frameworks zu meinem Framework-Projekt hinzu und ich möchte, dass sie in das produzierte Framework eingebunden werden. Ich kann also nicht einfach die statische Bibliotheksvorlage verwenden.

+0

Hier ist eine [detaillierte SO Frage dazu] (http://stackoverflow.com/questions/4065052/how-to-build-a-framework-or-library-for-other-developers-the-secure-way). Ich bin mir nicht sicher, ob dies für Xcode 5 noch relevant ist, aber in Xcode 4 war dies der richtige Weg (kein Hack oder ein * Fake * -Framework). –

Antwort

0

Vielleicht werfen Sie einen Blick ins iOS-Universal-Framework. Ich benutze es jetzt und es macht den Job! Sie können es hier finden: ios-universal-framework

Das einzige, was ich ausgegeben habe, ist, dass es nicht mit Cocoapods funktioniert. Aber für alle anderen Aufgaben ist es sehr gut!

EDIT: Sie haben es direkt vor, ok. Aber wie gesagt, es funktioniert gut mit xcode 5. Es hatte nur Probleme mit Cocoapoden.

+0

Dies ist, was ich benutze, kann immer noch nicht arm64 und haben schwerwiegende Probleme mit dem Skript ... – Idan

+0

Welche Probleme haben Sie mit Cocoapods? Sind sie dokumentiert? Dies kann für viele von uns ein Deal Breaker sein. –

3

Erstellen eines Frameworks ist nicht schwer, Sie nehmen wahrscheinlich den langen Weg mit der Vorlage. Folgen Sie diese Schritte:

  1. Mehfuz's Creating Universal IOS Framework
  2. Cocoanetics Making Your Own iPhone Frameworks. In Xcode.
  3. Hector Zhao's How to build custom iOS framework with Xcode

Das Skript auf dem dritten Blog wird Ihnen die Struktur, die Apple empfiehlt, aber alle von ihnen sind groß. Ich habe es geschafft, ein Framework mit Kakaopods zu erstellen, indem ich ein Preprozessor-Makro COCOAPODS = 1 gesetzt und eine benutzerdefinierte Konfigurationseinstellung PODS_ROOT: "$ {SRCROOT}/Pods" hinzugefügt habe. All dies zu den Einstellungen Ihres Bundles. Sie können auch versuchen, die Registerkarte "Info" Ihres Xcode-Projekts unter "Konfigurationen" so einzustellen, dass Pods als Konfigurationsdatei verwendet werden. Es kann jedoch vorkommen, dass doppelte Symbole nicht sicher sind.

6

Dieser Ansatz funktioniert sehr gut:

https://github.com/jverkoey/iOS-Framework#walkthrough

Und Sie mit CocoaPods (http://cocoapods.org/) mit dieser einfachen Lösung verwenden können: https://github.com/jverkoey/iOS-Framework/issues/46

einfach die xcodebuild Linie im Zielrahmen ändern laufen Skript :

# Build the other platform. 
xcodebuild ONLY_ACTIVE_ARCH=NO -workspace "${PROJECT_DIR}/${PROJECT_NAME}.xcworkspace" -scheme "${TARGET_NAME}" -configuration "${CONFIGURATION}" -sdk ${SF_OTHER_PLATFORM}${SF_SDK_VERSION} BUILD_DIR="${BUILD_DIR}" OBJROOT="${OBJROOT}" BUILD_ROOT="${BUILD_ROOT}" SYMROOT="${SYMROOT}" $ACTION 
+0

Ist das nicht nur für statische Rahmen? – Idan

+0

Ja, um ein universelles und verteiltes Framework zu erstellen. –

Verwandte Themen