Mit Xcode 6 können wir eigene Dynamics erstellen Cocoa Frameworks
.
Wegen:
Der Simulator verwendet weiterhin die
32-bit
Bibliothek-
Ab dem 1. Juni 2015 müssen App-Updates, die an den App Store gesendet werden, 64-Bit-Unterstützung enthalten und mit dem iOS 8 SDK ( developer.apple.com ) erstellt werden.
Wir müssen eine Fettbibliothek erstellen, um Projekte auf Geräten und Simulatoren ausführen zu können. dh unterstützt sowohl 32 als auch 64 Bit in Frameworks.
Aber ich habe keine Handbücher gefunden, wie man das universelle Fat Framework für die zukünftige Integration mit anderen Projekten exportiert (und diese Bibliothek mit jemandem teilt).
Hier sind meine Schritte zum Reproduzieren:
Stellen Sie
ONLY_ACTIVE_ARCH=NO
in derBuild Settings
Fügen Sie Unterstützung
armv7 armv7s arm64 i386 x86_64
zuArchitectures
(sicher)
- Erstellen Sie das Framework und öffnen Sie es im Finder:
- Fügen Sie dieses Framework einem anderen Projekt hinzu
Tatsächliche Ergebnis:
Aber am Ende habe ich immer noch Probleme, ein Projekt mit diesem Framework auf Geräten und Simulatoren gleichzeitig auszuführen.
Wenn ich das Framework aus dem
Debug-iphoneos
Ordner nehme , funktioniert es auf Geräten und wird auf Simulatoren als Fehler angezeigt:ld: symbol(s) not found for architecture i386
xcrun lipo -info CoreActionSheetPicker
Architekturen in der Fat-Datei: CoreActionSheetPicker sind: armv7 armv7s arm64
Wenn ich Framework aus
Debug-iphonesimulator
Ordner nehme , funktioniert es auf Simulatoren. und ich habe Fehler auf dem Gerät:ld: symbol(s) not found for architecture arm64
xcrun lipo -info CoreActionSheetPicker
Architekturen in der Fat-Datei: CoreActionSheetPicker sind: i386 x86_64
Wie erstelle ich ein dynamisches Framework, das auf Geräten und Simulatoren funktioniert?
Diese Antwort bezog sich auf Xcode 6 iOS. Erstellen eines Cocoa Touch Framework - Architekturprobleme, aber keine Duplikate.
Aktualisieren:
Ich habe einen "Dirty Hack" für diesen Fall gefunden. Siehe meine Antwort unten . Wenn jemand einen bequemeren Weg kennt - bitte lassen Sie es mich wissen!