gpt4 book ai didi

ios - 如何使用 Xcode 10.2.1 创建通用库?

转载 作者:行者123 更新时间:2023-11-29 05:39:21 26 4
gpt4 key购买 nike

我是创建 iOS 库的新手(总体来说也是 iOS 开发的新手 - 我昨天刚刚完成了我的第一个“Hello, World”应用程序),所以请不要害怕给出冗长且适合 child 的内容回答。

我的目标是构建一个 SDK,其中包含一些业务逻辑和 API 集成的 AVPlayer,以便我们可以分发该库,并且我们的客户可以轻松创建与我公司的视频流平台配合使用的应用程序。

为了开始(学习 iOS 开发,尚未实际使用 SDK),我遵循了这个 iOS static library tutorial by Ray Wenderlich 。有一次,它提到我刚刚创建的库只能在模拟器上运行,而不能在真实设备上运行,并继续解释如何创建一个可以在这两种设备上运行的通用库。就在那时,一切都崩溃了。

  • lipo 404'd 文档的链接
  • lipo 手册页对于解释 lipo 是什么或它应该做什么没有太大帮助
  • 谷歌搜索lipo似乎没有找到太多相关信息
  • Xcode 提供了创建“跨平台”目标以及“聚合”目标的功能,听起来 lipo 可能会被弃用?
  • Xcode release notes似乎暗示 lipo 已弃用
  • 从我所关注的教程中复制“运行脚本”构建阶段会导致 Clang 抛出错误(“i386 是无效的构建目标”)
  • 谷歌搜索此错误,似乎 i386 对于 iOS 10 及之前版本是准确的,但对于较新版本的 iOS 无效?
  • 我知道 iPad Mini(以及其他设备)无法升级到 iOS 9 以上。如果我无法针对 i386 进行构建,我如何支持这些设备?
  • 剥离 -arch i386 会引发完全不同的错误:“无法附加数据库”
  • 通过谷歌搜索此错误,我发现了将 OBJROOT=... 添加到运行脚本的建议。这引发了关于无法加载 list 的不同错误,然后导致我的 CPU 风扇以最大速度旋转,而 Xcode 停滞了
  • 看看其他教程,绝大多数似乎已经过时,指向 Xcode 中不再存在的菜单选项或按钮,或者提到了不在我的选项列表中的构建目标

有人可以详细指导我如何构建通用库吗?

最佳答案

lipo尚未被弃用。它是一个用于操作通用(或“胖”)Mach-O 文件的工具。您可以阅读lipo终端中的手册页添加 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/share/man给您MANPATH环境变量然后运行man lipo .

Wenderlich 教程来自 2013 年。自 iOS 11(2017 年发布)以来,iOS 仅支持 64 位应用程序和库。您的部署目标是否可能设置为 iOS 11 或更高版本?如果是这样,也许 Xcode 认识到它不应该允许您为该部署目标构建 i386 库。

尝试使用x86_64如果您愿意仅针对支持 64 位的设备和 iOS 版本,请改为使用架构。

请注意,即将推出的 Xcode 11(目前处于 beta 2 阶段,将于 2019 年 9 月或 10 月左右全面发布)支持新的 xcframework格式,将多个架构的框架(或静态库)组合到一个包中,而无需(直接)使用 lipoHarlan Haskins WWDC 2019 Session 416: Binary Frameworks in Swift 中解释了如何创建和使用 xcframework 文件.

关于ios - 如何使用 Xcode 10.2.1 创建通用库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56709419/

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