gpt4 book ai didi

cocoa - 对 Xcode 6 中创建胖静态库的不同过程感到困惑

转载 作者:行者123 更新时间:2023-12-03 16:28:29 25 4
gpt4 key购买 nike

我对找到的有关如何使用最新的 Xcode 6 和 iOS 8 环境创建通用框架的信息有点困惑。例如,this answer包括以下内容:

If you need to create universal static library that runs on both simulator and devices, then general steps are:

1. Build library for simulator
2. Build library for device
3. Combine them using lipo

lipo -create -output "framework-test-01-universal" "Debug-iphonesimulator/framework-test-01.framework/framework-test-01" "Debug-iphoneos/framework-test-01.framework/framework-test-01" Note that framework-test-01 is my framework project name.

我的一位同事按照这些说明构建了一个可执行文件。嗯,我不认为这就是我正在寻找的。它包含一个如下所示的结构:

enter image description here

稍后,另一个答案 here谈论使用构建阶段运行脚本创建聚合目标,这是我在以前版本的 Xcode 中熟悉的内容。当我使用这个过程时,我收到了我所期望的东西。文件夹结构如下:

enter image description here

有人可以帮助我们解决这个困惑吗?

两者有什么区别?

我的意思是,第一个过程是创建一个可以在模拟器和设备上运行的应用程序,而第二个过程是创建一个胖静态

最佳答案

重要的区别在于框架之间。该框架只是一个包含您的库和 header 的特定文件夹结构。

lipo 结合了。因此,这些指令有一个示例执行,它引用您已经构建的框架内的库(一次用于 iphoneos,一次用于模拟器)。框架之间的唯一区别是库,因此通过使用 lipo 组合库,您将获得一个包含所有支持框架的胖(或更胖)库。

第一个链接的答案告诉您如何创建框架和应用程序。只需担心框架部分。使用不同的目标(iOS 设备和模拟器)构建框架两次。确保将“仅构建事件架构”设置为“否”。您可能希望构建用于发布而不是调试,但这取决于您的具体需求。

关于cocoa - 对 Xcode 6 中创建胖静态库的不同过程感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27136107/

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