嵌入式 dylibs/frameworks 仅支持 iOS 8.0 及更高版本的架构 armv7

Posted

技术标签:

【中文标题】嵌入式 dylibs/frameworks 仅支持 iOS 8.0 及更高版本的架构 armv7【英文标题】:Embedded dylibs/frameworks are only supported on iOS 8.0 and later for architecture armv7 【发布时间】:2015-09-11 06:20:47 【问题描述】:

我刚刚从 Xcode 6.4 升级到 Xcode 7GM,现在在运行我的旧项目时收到以下警告

embedded dylibs/frameworks are only supported on ios 8.0 
and later (@rpath/xxxxxx.framework/xxxxxx) for architecture armv7

这个问题只发生在 Xcode 7 中。但是当我在 Xcode 6.4 中运行项目时,它从未发生过。

【问题讨论】:

你的部署目标是什么? 我的部署目标是 7.1。但是只有当我在 Xcode 7 中运行它时,才会出现问题 我在升级到 Xcode 9.2 时遇到了同样的错误(第一次)。很高兴看到今天 Xcode 的用户不友好性与 2015 年一样一致。修复是在每个项目的“构建设置”中将“iOS 部署目标”更新为 8.0 或更高版本子项目的“构建设置”。 【参考方案1】:

我在 Xcode 7.1 beta3 上遇到了完全相同的问题,我所做的是搜索关键字“IPHONEOS_DEPLOYMENT_TARGET”以确保所有目标都高于 8.0。

【讨论】:

如果我想支持最低部署最低操作系统版本为 7.0 但库支持 8.0+ 怎么办??【参考方案2】: 我在将 xcode 更新到 7.3 版时遇到了一个错误。我有一个解决方案。我觉得很有用!

【讨论】:

这对我有用。由于某种原因,单独的 Pod 没有正确的部署目标。【参考方案3】:

确保所有 TARGET 具有相同的部署目标(也安装了 pod 或框架)。

例如,在下面的示例中,所有目标(Bolts、FBSDKCoreKit、FBSDKLoginKit .... SingleSignOnPod)必须具有相同的目标(例如 7.0)..

【讨论】:

该死,你是对的。在主项目上更改部署目标是不够的。为什么 Xcode如此该死的不友好..?!【参考方案4】:

您的部署目标低于 8.0,这是支持嵌入式框架的最低 iOS 版本。如果您在运行 7.x 的设备上部署应用程序,它会在运行时崩溃。这就是编译器发出此警告的原因。

这在 Xcode 6.4 上没有发生的原因是未知的。当我做同样的事情(选择部署目标 7.x 但使用嵌入式框架)时,我自己确实收到了警告。

要解决这个问题,只需将部署目标提高到 8.0 或更高版本即可。如果确实需要支持 7.x,请尝试使用静态库而不是嵌入式框架。

【讨论】:

【参考方案5】:

我的项目中没有任何嵌入式框架,但这个问题是因为打开了 Thread Sanitizer。

因此解决方法是将部署目标提高到 iOS 8,然后调试线程问题,然后关闭 Thread Sanitizer 并恢复对 iOS 7 的支持。

【讨论】:

以上是关于嵌入式 dylibs/frameworks 仅支持 iOS 8.0 及更高版本的架构 armv7的主要内容,如果未能解决你的问题,请参考以下文章

仅使用 url 嵌入视频

从 YouTube API 仅检索支持移动设备的视频

从 YouTube API 仅检索支持移动设备的视频

IOS6 横向在仅纵向 iPhone 应用程序中从 uiwebview 播放嵌入的 youtube 视频

使用嵌入式Linux的优势

使用嵌入式Linux的优势