Xamarin绑定ios静态库

以下是官方的步骤介绍,我就不再一步步解释了

https://docs.microsoft.com/zh-cn/xamarin/ios/platform/binding-objective-c/walkthrough?tabs=vsmac

主要是静态库编译.a文件的时候,看看官方给出的makefile脚本,如下:

XBUILD=/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild
PROJECT_ROOT=./YOUR-PROJECT-NAME
PROJECT=$(PROJECT_ROOT)/YOUR-PROJECT-NAME.xcodeproj
TARGET=YOUR-PROJECT-NAME

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)-armv7.a:
    $(XBUILD) -project $(PROJECT) -target $(TARGET) -sdk iphoneos -arch armv7 -configuration Release clean build
    -mv $(PROJECT_ROOT)/build/Release-iphoneos/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)-armv7.a lib$(TARGET)-arm64.a
    xcrun -sdk iphoneos lipo -create -output $@ $^

clean:
    -rm -f *.a *.dll

新建一个文件命为makefile的文件,把里面内容拷里面,把YOUR-PROJECT-NAME全部替换成你的工程名字

然后,把makefile文件放到和工程文件夹(是*.xcodeproj文件所在目录的上一级目录)同一个目录下

用终端去到makefile所在文件夹,敲入make命令,即可生成.a文件。

注意:makefile对格式要求很严格,

$(XBUILD)
-mv
xcrun
-rm
这些都属于命令,签名不能是空格,只能是一个tab,不然,就会出现Makefile:1: *** missing separator. Stop.错误
原文地址:https://www.cnblogs.com/IWings/p/9324301.html