新闻门户网站什么意思,cn域名续费多少钱一年,会员营销方案,电商支付网站建设费进什么科目将Swift软件包构建为通用二进制文件 因此#xff0c;在苹果在WWDC 2020期间宣布他们将把Mac从英特尔处理器过渡到苹果硅之后#xff0c;现在是时候让每个人都准备好他们的软件了。
对大多数人来说#xff0c;这次过渡可能更容易一些#xff0c;特别是那些已经在iOS上支持a…将Swift软件包构建为通用二进制文件 因此在苹果在WWDC 2020期间宣布他们将把Mac从英特尔处理器过渡到苹果硅之后现在是时候让每个人都准备好他们的软件了。
对大多数人来说这次过渡可能更容易一些特别是那些已经在iOS上支持arm64的人但仍有工作要做以确保工具和预编译的发行版支持使用Apple Silicon的Mac公开时准备好的两种架构。如果您还没有看到它其中许多内容都包含在将Mac应用程序移植到Apple Silicon WWDC会话视频中。
如果您使用Xcode编译命令行工具那么只要您将ARCHS构建设置设置为$(ARCHS_STANDARD)默认值事情就非常简单。在Xcode 12中此值被描述为标准架构64位英特尔和ARM但如果您使用Swift软件包管理器来构建和分发二进制文件或库则没有此类选项。
相反从Swift 5.3的Swift Package ManagerXcode 12开始swift-build执行文件现在引入了--arch选项apple/swift-package-manager#2787。
构建通用二进制
首先确保您使用的是正确版本的Xcode/Swift
$ xcrun swift build --version
Swift Package Manager - Swift 5.3.0注意如果这不是Swift 5.3或更高版本请使用xcode-select -s切换到Xcode 12测试版。
现在在编译软件包时请指定两个架构来编译通用二进制文件
$ xcrun swift build -c release --arch arm64 --arch x86_64
$ xcrun swift build -c debug --arch arm64 --arch x86_64
要验证您构建的二进制文件是否包含两种架构您可以使用lipo -info命令检查二进制文件并确认
$ lipo -info .build/apple/Products/Release/swiftlint
Architectures in the fat file: .build/apple/Products/Release/swiftlint are: x86_64 arm64$ lipo -info .build/apple/Products/Debug/swiftlint 就这样将您的Swift软件包构建为通用二进制文件就这么简单