【问题标题】:static arm64 iOS library does not link in a tvOS project静态 arm64 iOS 库未在 tvOS 项目中链接
【发布时间】:2015-12-29 11:08:39
【问题描述】:

我有一个静态胖库,其中包含架构 arm64,可以在 iOS 项目中链接。 但是,当我尝试在 tvOS 项目中使用此库时,出现以下链接错误:

 "... building for tvOS, but linking in object file built for iOS, for architecture arm64"

我不确定是否可以在 tvOS 项目中重用在 iOS 项目中正常工作的 arm64 库,或者我可能必须从 tvOS 项目(TV 静态库)创建 arm64 库。

【问题讨论】:

  • 这取决于静态库代码使用的系统框架。并非所有内容都适用于 tvOS。

标签: tvos


【解决方案1】:

对于 Xcode 7,目标文件和静态库都标有平台和它们设计的最低版本。

您必须为每个平台构建一个单独的库(并且每个平台目标都需要链接到专门为该平台构建的静态库)。

试图构建一个支持多个平台的库会与切片等应用瘦身技术背道而驰:

切片是为不同的目标设备创建和交付 app bundle 变体的过程。变体仅包含目标设备所需的可执行架构和资源。

【讨论】:

  • 是的,我已经意识到使用以下命令:otool -lv | grep LC_VERSION,其答案是 cmd LC_VERSION_MIN_TVOS
猜你喜欢
  • 2012-12-24
  • 2011-09-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-24
  • 1970-01-01
相关资源
最近更新 更多