简体   繁体   中英

Xcode linking error after updating to 8.0 version

My project isn't compiled with an error: 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 compiled with newer version of Swift language (3.0) than previous files (2.0) for architecture x86_64 screenshot

The problem is with ReactiveCocoa framework, I think. It is added as a submodule to my project. I use only Objective-C and can't understand how to solve this problem.

You need to update CocoaPods to a newer version supports XCode 8 (CocoaPods 1.1.0 or newer):

sudo gem install cocoapods

Then do a pod update to fix your dependencies that are not linking:

pod update

Delete the DerivedData folder for your project and rebuild, the link error should be gone.

"You need to explicitly set the Use Legacy Swift Language Version flag on the CocoaPod target. This can be done by clicking on the Pods project, clicking on the RealmSwift target, going to the 'Build Settings' tab, and changing the flag to Yes."

To read more, go here

I was facing the same issue but it was related to another framework not with Realm.

Project -> Target -> Use Legacy Swift Language Version -> Yes

在此输入图像描述

I would always recommend to upgrade you projects using the wizard provided. If it didn't came up you can manually convert you code from the menu Edit > Convert > To Current Swift Syntax. Maybe this will help.

Otherwise apple provides a nice migration guide here: Migrating to Swift 2.3 or Swift 3 from Swift 2.2 Maybe this will help.

This question was already asked here: cannot build project with xcode 8 beta 6

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM