更新到 8.0 版本后 Xcode 链接错误
Posted
技术标签:
【中文标题】更新到 8.0 版本后 Xcode 链接错误【英文标题】:Xcode linking error after updating to 8.0 version 【发布时间】:2016-09-14 21:19:18 【问题描述】:我的项目没有编译错误:
linker command failed with exit code 1 (use -v to see invocation)
and description
ld: .../Xcode/DerivedData/Acoustic-ejrjwtwpmnimpdaazezbknffdbim/Build/Products/Debug-iphonesimulator/Result.framework/Result 使用比以前的文件 (2.0) 架构 x86_64 更新的 Swift 语言 (3.0) 版本编译 screenshot
我认为问题出在 ReactiveCocoa 框架上。它作为子模块添加到我的项目中。我只使用Objective-C,无法理解如何解决这个问题。
【问题讨论】:
更改您的 info.plist Bulid 设置 Swift 编译器版本以使用旧版 Swift 2.x(只需将其设置为 YES) @LeoDabus 你能解释一下吗,请问我需要在 info.plist 中添加什么?或者我必须改变的地方,我不明白。谢谢 dropbox.com/s/grwmwmd9yicoz46/Screen.png?dl=1 【参考方案1】:您需要将 CocoaPods 更新到支持 XCode 8 的更新版本(CocoaPods 1.1.0 或更新版本):
sudo gem install cocoapods
然后进行 pod 更新以修复未链接的依赖项:
pod update
删除项目的 DerivedData 文件夹并重新构建,链接错误应该消失了。
【讨论】:
这对我不起作用。我做了这些更改:项目 -> 目标 -> 使用旧版 Swift 语言版本 -> 是【参考方案2】:“您需要在 CocoaPod 目标上显式设置 Use Legacy Swift Language Version 标志。这可以通过单击 Pods 项目、单击 RealmSwift 目标、转到“构建设置”选项卡并更改标记为是。”
要了解更多,go here
【讨论】:
【参考方案3】:我遇到了同样的问题,但它与另一个与 Realm 无关的框架有关。
项目 -> 目标 -> 使用旧版 Swift 语言版本 -> 是
【讨论】:
【参考方案4】:我总是建议使用提供的向导升级您的项目。如果没有出现,您可以从菜单 Edit > Convert > To Current Swift Syntax 手动转换代码。也许这会有所帮助。
否则苹果在这里提供了一个很好的迁移指南:Migrating to Swift 2.3 or Swift 3 from Swift 2.2 也许这会有所帮助。
这个问题已经在这里问过了:cannot build project with xcode 8 beta 6
【讨论】:
以上是关于更新到 8.0 版本后 Xcode 链接错误的主要内容,如果未能解决你的问题,请参考以下文章
Xamarin iOS构建错误-本地链接失败(仅链接框架SDK)
Xcode 7 警告!是为比被链接 (5.1) 更新的 iOS 版本 (5.1.1) 构建的
Xcode Beta 6“没有更多上下文的表达式类型不明确”导航链接