链接器命令失败,退出代码1(使用-v查看调用)与Swift 3

问题描述:

我正在构建一个Swift库并且是hosting it on GitHub链接器命令失败,退出代码1(使用-v查看调用)与Swift 3

一切都很好,直到我将BluetoothKit添加到项目。然后,我有一个苹果的Mach-O链接错误:

ld: warning: directory not found for option '-F/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator10.0.sdk/Developer/Library/Frameworks' 
ld: /Users/calebklevetertest/Library/Developer/Xcode/DerivedData/Napalm-dblvhbjdwovurocsvzrzaxzkjjyw/Build/Products/Debug-iphonesimulator/Napalm.framework/Napalm compiled with older version of Swift language (2.0) than previous files (3.0) for architecture x86_64 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

从阅读它出现的问题不知何故从我使用的斯威夫特3事实茎的错误,但我无法弄清楚如何解决它。

当我添加它时,我没有将BluetoothKit转换为Swift 3。

有一个类使用BluetoothKit,它被称为NPFBluetooth

需要注意的事情有:1)即使该类是公共的,编译器会给出'未解析的标识符'的错误,2)该类不会显示在自动完成中,3)所有其他类都可以工作精细。

+2

我知道这是一个经常无用的建议,但,你有没有试过删除数据导出和重建? –

+0

@PhillipMills,这实际上修复了它!谢谢!但是,警告仍然存在。 –

我遇到了错误迁移到swift3。事实证明,Xcode保留了构建框架的副本,并且转移到swift3显然不是重建这些的提示(即使发现它是使用swift2构建的....也不会让我们抛出一个模糊的错误)。

解决的办法是delete the content of your 'derived data' folder.

工程与迦太基的CocoaPods安装框架.....

转到您的构建设置,并将目标的设置切换到ENABLE_BITCODE = YES。 它为我工作;)