Ios Swift:Apple Mach-O链接器错误(文件对于体系结构x86_64来说太小)

Ios Swift:Apple Mach-O链接器错误(文件对于体系结构x86_64来说太小),ios,xcode,swift,Ios,Xcode,Swift,我正在创建一个天气应用程序,它可以从网站获取信息。在我最后一次编写代码时(昨晚),一切都很好,我能够编译并运行模拟器,没有错误。就在今天,当我启动同一个项目时,没有做任何改变,我得到了一个“苹果Mach-O链接器错误”。请大家帮个忙好吗 以下是错误的详细信息: Ld /Users/Allister/Library/Developer/Xcode/DerivedData/Haze_Meter-dkjjcmjehyitmcbhkcbujnsrhwpu/Build/Products/Debug-iph

我正在创建一个天气应用程序,它可以从网站获取信息。在我最后一次编写代码时(昨晚),一切都很好,我能够编译并运行模拟器,没有错误。就在今天,当我启动同一个项目时,没有做任何改变,我得到了一个“苹果Mach-O链接器错误”。请大家帮个忙好吗

以下是错误的详细信息:

Ld /Users/Allister/Library/Developer/Xcode/DerivedData/Haze_Meter-dkjjcmjehyitmcbhkcbujnsrhwpu/Build/Products/Debug-iphonesimulator/Haze\ Meter.app/Haze\ Meter normal x86_64
    cd "/Users/Allister/Documents/XCODE/Haze Meter"
    export IPHONEOS_DEPLOYMENT_TARGET=8.3
    export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.3.sdk -L/Users/Allister/Library/Developer/Xcode/DerivedData/Haze_Meter-dkjjcmjehyitmcbhkcbujnsrhwpu/Build/Products/Debug-iphonesimulator -F/Users/Allister/Library/Developer/Xcode/DerivedData/Haze_Meter-dkjjcmjehyitmcbhkcbujnsrhwpu/Build/Products/Debug-iphonesimulator -filelist /Users/Allister/Library/Developer/Xcode/DerivedData/Haze_Meter-dkjjcmjehyitmcbhkcbujnsrhwpu/Build/Intermediates/Haze\ Meter.build/Debug-iphonesimulator/Haze\ Meter.build/Objects-normal/x86_64/Haze\ Meter.LinkFileList -Xlinker -rpath -Xlinker @executable_path/Frameworks -Xlinker -objc_abi_version -Xlinker 2 -L/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator -Xlinker -add_ast_path -Xlinker /Users/Allister/Library/Developer/Xcode/DerivedData/Haze_Meter-dkjjcmjehyitmcbhkcbujnsrhwpu/Build/Intermediates/Haze\ Meter.build/Debug-iphonesimulator/Haze\ Meter.build/Objects-normal/x86_64/Haze_Meter.swiftmodule -mios-simulator-version-min=8.3 -Xlinker -dependency_info -Xlinker /Users/Allister/Library/Developer/Xcode/DerivedData/Haze_Meter-dkjjcmjehyitmcbhkcbujnsrhwpu/Build/Intermediates/Haze\ Meter.build/Debug-iphonesimulator/Haze\ Meter.build/Objects-normal/x86_64/Haze\ Meter_dependency_info.dat -o /Users/Allister/Library/Developer/Xcode/DerivedData/Haze_Meter-dkjjcmjehyitmcbhkcbujnsrhwpu/Build/Products/Debug-iphonesimulator/Haze\ Meter.app/Haze\ Meter
在底部:

ld: file too small (length=0) file '/Users/Allister/Library/Developer/Xcode/DerivedData/Haze_Meter-dkjjcmjehyitmcbhkcbujnsrhwpu/Build/Intermediates/Haze Meter.build/Debug-iphonesimulator/Haze Meter.build/Objects-normal/x86_64/ViewController.o' for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我检查了StackOverflow上的其他“Apple Mach-O链接器错误”,但它们似乎与我的“ld”不同,尽管“叮当”相同。

尝试完全重建/清理。以前的构建可能已异常中止,导致
ViewController.o
文件损坏或大小为零

要清理:在Xcode“产品”菜单中,选择“清理”(快捷方式:Cmd+Shift+K)

要重建:在Xcode“产品”菜单中,选择“构建”(快捷方式:Cmd+B)

如果它不工作:在Xcode“产品”菜单中,按住Option键,然后选择“Clean Build Folder”


引用自

您(通常)不必清理,只需打开它提到的文件并重新保存,以便xcode认为它已更改。然后你可以做一个增量构建(更快)。

我也有同样的问题。结果是,我在外部添加的一个框架找不到。为了修复它,我删除了对它的引用,重新下载它,然后将它重新添加到我的项目中

对我来说,这是因为故事板中有一个空的
UINavigationController


希望这能帮助有需要的人。

在我的例子中。我在cocoapods访问的框架中遇到了这个错误。我通过运行cmd'pod cache clean'修复了这个错误,然后清理并重建项目。

我在AppCode中也遇到了同样的问题。无效缓存/重新启动没有帮助。通过手动删除
Library/Caches/AppCodeXXXX/DerivedData
文件夹修复了此问题。

此操作有效!我可以问一下“重建”和“清理”的含义/功能是什么吗?多个清理的构建,我仍然得到这个错误,这是令人不安的@Brynjar,试试苹果公司的次等质量,IMHO。不知道“清洁构建文件夹”,为我解决了这个问题!这节省了很多工作。如果无法工作,请更改文件中的某些内容并重新生成以使其工作。