When creating and compiling the Binding Library by following the guide provided by Xamarin, and having set your iOS SDK to 11.2, you will most likely find that armv7 is no longer supported when executing the Makefile
clang: error: invalid iOS deployment version '-miphoneos-version-min=11.2',
iOS 10 is the maximum deployment target for 32-bit targets
[-Winvalid-ios-deployment-target]
** BUILD FAILED **
........
(8 failures)
make: *** [libLeanPlum-armv7.a] Error 65
To solve this issue, simply remove the support for armv7 as done below (remember to use tabs if you write the Makefile by hand):
XBUILD=/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild
PROJECT_ROOT=./LeanPlum
PROJECT=$(PROJECT_ROOT)/LeanPlum.xcodeproj
TARGET=LeanPlum
all: lib$(TARGET).a
lib$(TARGET)-i386.a:
$(XBUILD) -project $(PROJECT) -target $(TARGET) -sdk iphonesimulator -configuration Release clean build
-mv $(PROJECT_ROOT)/build/Release-iphonesimulator/lib$(TARGET).a $@
lib$(TARGET)-arm64.a:
$(XBUILD) -project $(PROJECT) -target $(TARGET) -sdk iphoneos -arch arm64 -configuration Release clean build
-mv $(PROJECT_ROOT)/build/Release-iphoneos/lib$(TARGET).a $@
lib$(TARGET).a: lib$(TARGET)-i386.a lib$(TARGET)-arm64.a
xcrun -sdk iphoneos lipo -create -output $@ $^
clean:
-rm -f *.a *.dll
Now you should be able to produce the Fat binaries.
// Dave