我刚刚将Xcode更新为Xcode 8,现在正尝试将我的项目代码转换为Swift 2.3。我能够使用Xcode 8构建几次而没有任何错误。现在,出现了以下错误:
ld:找不到文件:/Users/Linus/Library/Developer/Xcode/DerivedData/MyApp-asdjeshhsetnfxbegcsbcipdreneewgr/Build/Intermediates/MyApp.build/Debug-iphonesimulator/MyApp.build/Objects-normal/x86_64/DownloadsViewController。 Ø
clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)
我甚至不知道.o
文件是什么。不过,DownloadsViewController
的swift文件就在那里。
同上:无法获得源的真实路径' /Users/Linus/Library/Developer/Xcode/DerivedData/MyApp-asdjeshhsetnfxbbciegrfdpdreneewgr/Build/Intermediates/MyApp.build/Debug-iphonesimulator/MyApp。建立/对象 - 正常/ x86_64的/ MyApp的-Swift.h'
命令/ usr / bin / ditto失败,退出代码为1
同上,错误发生3次:MyApp.swiftdoc
,MyApp.swiftmodule
和MyApp-Swift.h
。
提前致谢!
答案 0 :(得分:41)
答案 1 :(得分:27)
确保从.xcworkspace
文件而不是.xcodeproj
答案 2 :(得分:17)
步骤1 =点击导航菜单中的项目
步骤2 =选择项目
第3步=构建设置
步骤4 =如果bitcode为“是”而不是“
”,则搜索启用bitcode答案 3 :(得分:10)
以前的答案都没有解决我的问题。 我认为它来自cocoapods podFile的变化,从使用框架到不使用它们
框架仍在目标>常规属性>链接框架中提醒。我删除了它们 我还从其他链接器标志中删除了-framework和相应的框架(保存了inherited和objC标志)
希望可以提供帮助
答案 4 :(得分:5)
Xcode神奇地决定修复错误本身。我的项目再次运行,没有任何错误 我没有做任何能解决这个错误的事情。
答案 5 :(得分:5)
在我的应用程序运行时删除我的应用程序后发生了这种情况。
我解决了清理项目的问题。
产品>清洁或Shift + Command + K
答案 6 :(得分:4)
答案 7 :(得分:1)
对于我的本机应用,我在Project Navigator
和Targets
中删除了测试项目的文件夹。它解决了我的问题。
答案 8 :(得分:1)
使用以下cmds清理XCode并重建:
rm -rf ~/Library/Developer/Xcode/DerivedData/
killall Xcode 2> /dev/null
killall Instruments 2> /dev/null
killall 'iOS Simulator' 2> /dev/null
killall Simulator 2> /dev/null
killall 'Simulator (Watch)' 2> /dev/null
killall ibtoold 2> /dev/null
killall simctl 2> /dev/null
# There may be others
# Kill the service itself
sudo killall -9 com.apple.CoreSimulator.CoreSimulatorService
rm -rf ~/Library/*/CoreSimulator
答案 9 :(得分:1)
不要忘记,只需转到你的项目targat,然后建立设置和搜索启用bitcode将其更改为YES为NO。
答案 10 :(得分:1)
将Bitcode转为"否"解决了这个问题。这可以在构建设置中找到。
答案 11 :(得分:1)
当我将Xcode从之前的版本7更改为新的XCode 8时,我遇到了同样的问题。在新的Xcode(现在是8.3.3)中,编译器中有更多设置。
将项目设置更新为新的Xcode(使用Editor->验证设置)时,将应用这些新设置并将其设置为默认值YES。在此更新后,我遇到了链接器错误!
在我的项目中,我使用Beyond compare(或类似的)比较了.pbxproj文件的先前版本与新版本(在设置验证之后)。
通过这种方式,我可以看到新版Xcode中添加的新设置,并将新设置值设置为NO。在此更新之后,一切正常,链接器错误消失。
答案 12 :(得分:1)
如果您通过Build Phases导入框架,请尝试将其放入项目的文件夹中,并将其添加到带有库的Link Binary中。实际上,我之前已经遇到过这个问题,我对这个错误感到非常沮丧,直到我知道我必须将.framework放在我项目的文件夹中。 希望会有所帮助
答案 13 :(得分:0)
我将项目转换为Current Swift语法(Swift 3)后,我在XCode 8.2.1(版本8C1002)中发现的问题。我只需要在清理后重建它,错误消失了。
答案 14 :(得分:0)
除了清理派生数据和项目以及重新启动xcode之外,我发现将项目重新转换为当前的swift语法并重新安装pod(如果有的话)也有帮助。
要重新转换项目,您需要将swift_version构建设置设置回yes,以便您的目标显示在转换列表中。
答案 15 :(得分:0)
如果清理和禁用bitcode的过程不起作用,那么错误的原因可能只是代码中更复杂的语法错误。
答案 16 :(得分:0)
我遇到了同样的问题,因为我已经定义了一个类(使用@interface),但没有为它提供实现(使用@implementation)。这是一个简单的类,所以即使是一个空的实现也解决了它。
答案 17 :(得分:0)
另外,只需检查您是否在任何类中导入“* .m”实现文件,这可能会导致同样的问题。
删除import语句可以解决问题
答案 18 :(得分:0)
对我而言,反应原生触觉是一个问题。我认为这是因为CocoaPods的变化,也是因为更改了文件位置。我刚删除它并重新安装它。希望这有助于某人。
<强>更新强>
构建成功时运行它会崩溃。为了解决这个问题,我使用了File&gt;为GoogleService-Info.plist添加文件到项目,它工作正常。
答案 19 :(得分:0)
请确保您在xcode中的“工作区”设置中进行了以下更改:
请转到您的工作区设置并进行以下更改:
工作区设置: 构建系统: 旧版构建系统
每用户工作区 派生数据: 工作区相对位置 建立系统 使用用户设置
希望有帮助:
答案 20 :(得分:-6)
按照以下步骤操作:
步骤1:转到“构建阶段”选项卡,然后仅展开“带库”的“链接二进制文件”
step2:然后转到General标签然后展开Linked Framework&amp;图书馆 (因为Yourprojectname.framework已禁用)