Tutaj jest dobrym rozwiązaniem, że znaleziono: Static Libs With Support to iOS 5 and Arm64
Zmieniano:
Roztwór do tworzenia różnych architektur oddzielone czym wiążą się nimi za pomocą lipo przez zastosowanie linii sterowania (lub Rakefile).
najpierw zbudować binarny z ramienia za pomocą xcodebuild:
xcodebuild -project 'StaticLibDemo.xcodeproj' -configuration 'Release' -sdk 'iphoneos7.0' clean build ARCHS='armv7 armv7s' IPHONEOS_DEPLOYMENT_TARGET='5.0' TARGET_BUILD_DIR='./build-arm' BUILT_PRODUCTS_DIR='./build-arm'
pamiętać, że trzeba ustawić IPHONEOS_DEPLOYMENT_TARGET = „5.0” i architekturach = „ARMv7 armv7s”, zaleca się ustawić budować i produktowe katalogi dokonać rzeczy bardziej zrozumiałe, zajrzyj do podręcznika Build Setting Reference, aby dowiedzieć się więcej na temat znaczenia tej flagi.
Następny build dla arm64:
xcodebuild -project 'StaticLibDemo.xcodeproj' -configuration 'Release' -sdk 'iphoneos7.0' clean build ARCHS='arm64' IPHONEOS_DEPLOYMENT_TARGET='7.0' TARGET_BUILD_DIR='./build-arm64' BUILT_PRODUCTS_DIR='./build-arm64'
zauważyć różnicę na Łuki i IPHONEOS_DEPLOYMENT_TARGET. Musimy również budować na symulatorze, w tym przypadku musimy zmienić SDK do iphonesimulator7.0 i budować w dwóch etapach pierwszy dla i386:
xcodebuild -project 'StaticLibDemo.xcodeproj' -configuration 'Release' -sdk 'iphonesimulator7.0' clean build ARCHS='i386' IPHONEOS_DEPLOYMENT_TARGET='5.0' TARGET_BUILD_DIR='./build-i386' BUILT_PRODUCTS_DIR='./build-i386'
Teraz najtrudniejsza część! Jeśli po prostu zmienisz ARCHS na x86_86 w zależności od ustawienia Xcode, pojawi się błąd: "x86_64 nie jest prawidłowym łukiem". Aby tego uniknąć wystarczy dodać VALID_ARCHS = „x86_64”:
xcodebuild -project 'StaticLibDemo.xcodeproj' -configuration 'Release' -sdk 'iphonesimulator7.0' clean build ARCHS='x86_64' VALID_ARCHS='x86_64' IPHONEOS_DEPLOYMENT_TARGET='7.0' TARGET_BUILD_DIR='./build-x86_64' BUILT_PRODUCTS_DIR='./build-x86_64'
Wreszcie musimy tylko stworzyć tłuszczu binarne z wszystkich 5 architektur:
lipo -create './build-arm/libStaticLibDemo.a' './build-arm64/libStaticLibDemo.a' './build-i386/libStaticLibDemo.a' './build-x86_64/libStaticLibDemo.a' -output 'libStaticLibDemo.a'
Autorka stworzyła pracy przykład tego, ty można dostać go: https://github.com/diogot/StaticLibDemo
Oto link do postu: Static Libs With Support to iOS 5 and Arm64
Wszystkie kredyty otrzymują Diogo Tridapalli.
Przepraszam, zapomniałem wspomnieć, że muszę to zbudować, nie używając Xcode, lecz kompilując bezpośrednio tradycyjną bibliotekę unixów. Edytuję swoją odpowiedź, aby odzwierciedlić ten fakt. –