XZ_iOS 之 Undefined symbols for architecture arm64

使用Xcode10.3进行命令行打包的时候,出现下面的问题:

Undefined symbols for architecture arm64:
  "_swift_getFieldAt", referenced from:
      HandyJSON.Metadata.Class._propertyDescriptionsAndStartPoint() -> ([HandyJSON.Property.Description], Swift.Int32?)? in Metadata.o
      HandyJSON.Metadata.Struct.propertyDescriptions() -> [HandyJSON.Property.Description]? in Metadata.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

由于 HandyJson 在10.3中需要升级为 5.0.0,或者是使用10.1进行打包,并选择Xcode10.1中的xcodebuild:

# 选择Xcode10.1的所在位置,终端输入:
os.system("sudo xcode-select --switch /Users/admin/Documents/Xcode.app/Contents/Developer/")

# 选择Xcode10.1中的xcodebuild,终端输入:
xcodebuild = '/Users/admin/Documents/Xcode.app/Contents/Developer/usr/bin/xcodebuild'

# archive工程: 
/Users/admin/Documents/Xcode.app/Contents/Developer/usr/bin/xcodebuild archive -workspace /Users/admin/XZ/ios/***.xcworkspace -scheme xz -configuration Debug -archivePath /Users/admin/Desktop/ipa/xz.xcarchive

# 导出工程:
/Users/admin/Documents/Xcode.app/Contents/Developer/usr/bin/xcodebuild -exportArchive -archivePath /Users/admin/Desktop/ipa/***.xcarchive -exportPath /Users/admin/Desktop/ipa -exportOptionsPlist /Users/admin/Desktop/ipa/ExportOptions.plist -allowProvisioningUpdates


# 获取路径,终端输入:
which xcodebuild

注意:使用 which xcodebuild 获取的路径,是默认在 /Applications/Xcode.app 中的Xcode的xcodebuild路径。

由于我的电脑安装了多个版本的Xcode,而在Xcode10.3中运行会出现错误,Xcode10.1中不会,所以选择了不同的Xcode。

发布了208 篇原创文章 · 获赞 52 · 访问量 14万+

猜你喜欢

转载自blog.csdn.net/understand_XZ/article/details/102897942