Dzięki Xcode 6 otrzymujemy możliwość tworzenia własnego Dynamic Cocoa Frameworks
.
Z powodu:
Symulator nadal korzysta z
32-bit
biblioteki-
od 1 czerwca 2015 r. aktualizacje aplikacji przesyłane do App Store muszą obejmować obsługę wersji 64-bitowej i być skompilowane przy użyciu zestawu SDK systemu iOS 8 ( developer.apple.com )
Musimy zrobić bibliotekę tłuszczu, aby uruchomić projekt na urządzeniach i symulatorach. tj. obsługuje zarówno 32, jak i 64 bitowe w Frameworkach.
Ale nie znalazłem żadnych podręczników, jak wyeksportować uniwersalny fat Framework do przyszłej integracji z innymi projektami (i udostępnić komuś tę bibliotekę).
Oto moje kroki, aby odtworzyć:
Ustaw
ONLY_ACTIVE_ARCH=NO
wBuild Settings
Dodaj wsparcie
armv7 armv7s arm64 i386 x86_64
dlaArchitectures
(na pewno)
- Zbuduj Framework i otwórz go w Finderze:
- Dodaj tę platformę do innego projektu
Aktualny rezultat:
Ale w końcu nadal mam problem z uruchomieniem projektu z tym frameworkiem na urządzeniach i symulatorze jednocześnie.
jeśli pobiorę framework z
Debug-iphoneos
folderu - działa na urządzeniach i wyświetla błąd na symulatorach:ld: symbol(s) not found for architecture i386
xcrun lipo -info CoreActionSheetPicker
Architektury w grubym pliku: CoreActionSheetPicker to: armv7 armv7s arm64
jeśli wezmę framework z
Debug-iphonesimulator
folderu - działa na symulatorach. i mam błąd na urządzeniu:ld: symbol(s) not found for architecture arm64
xcrun lipo -info CoreActionSheetPicker
Architektury w grubym pliku: CoreActionSheetPicker to: i386 x86_64
Jak więc stworzyć dynamiczną platformę działającą na urządzeniach i symulatorach?
Ta odpowiedź dotyczyła problemów z Xcode 6 iOS Creating a Cocoa Touch Framework - Architectures, ale nie jest to duplikat.
Aktualizacja:
Znalazłem "brudny hack" dla tej sprawy. Zobacz moją odpowiedź poniżej . Jeśli ktoś zna wygodniejszy sposób - daj mi znać!