1、编译实体机版本

export CFLAGS="-arch arm64 -miphoneos-version-min=15.0 -isysroot "$(xcrun -sdk iphoneos --show-sdk-path) 
export CGO_LDFLAGS="-arch arm64 -miphoneos-version-min=15.0 -isysroot "$(xcrun -sdk iphoneos --show-sdk-path)  
CGO_ENABLED=1 GOARCH=arm64 GOOS=darwin CC="clang $CFLAGS $CGO_LDFLAGS" go build -tags ios -ldflags=-w -trimpath -v -o "demo.a" -buildmode c-archive

编译完成之后建议拷贝到一个新的文件夹。为后面合并.a做准备

2、编译模拟器版本

export CFLAGS="-arch x86_64 -miphoneos-version-min=15.0 -isysroot "$(xcrun -sdk iphonesimulator --show-sdk-path) 
export CGO_LDFLAGS="-arch x86_64 -miphoneos-version-min=15.0 -isysroot "$(xcrun -sdk iphonesimulator --show-sdk-path) 
CGO_ENABLED=1 GOARCH=amd64 GOOS=darwin CC="clang $CFLAGS $CGO_LDFLAGS" go build -tags ios -ldflags=-w -trimpath -v -o "demo.a" -buildmode c-archive

同样编译完成之后建议拷贝到一个新的文件夹。为后面合并.a做准备

3、合并.a文件,制作通用静态库

lipo  -create iOS/iphoneos/demo.a iOS/iphonesimulator/demo.a  - output  SQY/iOS/demo.a

如果你的.a文件在同一个文件夹下,可以使用下面的命令

lipo  -create  *a(或者a.a b.a c.a)  -output xxx.a

然后可以输入命令测试下是否成功 :

lipo  -info  iOS/demo.a