gpt4 book ai didi

ios - 在创建通用静态库时使用 lipo vs "valid architecture"

转载 作者:行者123 更新时间:2023-11-29 12:31:24 25 4
gpt4 key购买 nike

我想创建一个通用静态库,比如说 sampleStaticLib.a,它包含在一个名为 HelloWorld 的应用程序中。 HelloWorld 应用程序需要使用静态库中定义的 API,并且需要同时在 iOS 模拟器和 iOS 设备上运行。我从网上的各种帖子了解到,我可以通过使用lipo工具将模拟器和设备的静态库聚合成一个通用库,然后将通用库包含在HelloWorld.xcodeproj中。

但是,或者,如果我执行以下操作:

  • 简单地在静态库xcodeproject中设置有效架构(sampleStaticLib.xcodeproj) 到“armv7 armv7s arm64 i386 x86_64
  • 生成 sampleStaticLibrary.a
  • 将其包含在 HelloWorld.xcodeproj 中

我的期望是,由于我将“sampleStaticLib”的有效架构设置为跨越 x86 和 ARM 的所有架构,因此该库应该可以在模拟器和设备上运行。但它在模拟器上不起作用。

那么,在创建通用静态库时,不能设置一个广泛的“有效架构”来代替使用“lipo 工具”的需要吗?

最佳答案

不,不幸的是,这不可能像您希望的那样简单。

原因是当您构建项目时,它将使用为所有请求的架构选择的 SDK 进行构建。 iOS SDK支持ARM,iOS Simulator SDK支持Intel。您需要针对 iOS SDK 构建 ARM 切片,针对 iOS 模拟器 SDK 构建 Intel 切片,然后将它们一起 lipo 成一个通用二进制文件。

关于ios - 在创建通用静态库时使用 lipo vs "valid architecture",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27572961/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com