嵌入式 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的主要内容,如果未能解决你的问题,请参考以下文章