链接器失败,退出代码为1。

时间:2016-12-05 10:40:29

标签: swift xcode linker cocoapods

我有一个简单的iOS swift 3项目,在XCode 8.1(8B62)中运行,编译正常,并执行。 把它推到我的SVN仓库上,我的同事也得到它,也在工作。一切都好。

我们必须添加一个pod,所以完成它。 (pod是一个基于Cocoa Lumber插孔的小工具,长时间用于我们所有项目)我的2位同事在几分钟内完成工作。但是,我得到链接器失败错误。链接器错误大约是-lCocoaLumberjack,但如果我添加任何其他pod,链接器遇到的第一个pod会使其崩溃。

我已经尝试了在其他类似问题上提出的每一个技巧,清理项目,清除派生数据,重新启动xcode,更改架构参数,清理pod,解组pod,清理测试主机,删除测试目标......一千次

我删除了该项目,并从repo下载,并遇到同样的问题。

我还将cocoapods更新为v1.1.1。 (和我的同事一样)。 use_frameworks!或者似乎从来没有做过不同的事情。

由于我的同事拥有完全相同的项目,来源和pod,我想我可以排除项目,工作区,构建配置/设置错误。那么在哪里可以检查可能导致问题的链接器,xcode或环境变量的其他配置?

感谢您的帮助

如果有帮助,请从链接器进行日志记录:

Ld /Users/romain/Library/Developer/Xcode/DerivedData/Inwebo-cjsvoynkmpchgtfqkxxactulxfci/Build/Products/Debug-iphoneos/Inwebo.framework/Inwebo normal arm64
    cd /Users/romain/Documents/Projects/MMXComponents/Inwebo/trunk
    export IPHONEOS_DEPLOYMENT_TARGET=8.0
    export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch arm64 -dynamiclib -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.1.sdk -L/Users/romain/Library/Developer/Xcode/DerivedData/Inwebo-cjsvoynkmpchgtfqkxxactulxfci/Build/Products/Debug-iphoneos -L/Users/romain/Library/Developer/Xcode/DerivedData/Inwebo-cjsvoynkmpchgtfqkxxactulxfci/Build/Products/Debug-iphoneos/CocoaLumberjack -L/Users/romain/Library/Developer/Xcode/DerivedData/Inwebo-cjsvoynkmpchgtfqkxxactulxfci/Build/Products/Debug-iphoneos/Logger -L/Users/romain/Documents/Projects/MMXComponents/Inwebo/trunk/Inwebo/iwlib -F/Users/romain/Library/Developer/Xcode/DerivedData/Inwebo-cjsvoynkmpchgtfqkxxactulxfci/Build/Products/Debug-iphoneos -filelist /Users/romain/Library/Developer/Xcode/DerivedData/Inwebo-cjsvoynkmpchgtfqkxxactulxfci/Build/Intermediates/Inwebo.build/Debug-iphoneos/Inwebo.build/Objects-normal/arm64/Inwebo.LinkFileList -install_name @rpath/Inwebo.framework/Inwebo -Xlinker -rpath -Xlinker @executable_path/Frameworks -Xlinker -rpath -Xlinker @loader_path/Frameworks -miphoneos-version-min=8.0 -dead_strip -Xlinker -object_path_lto -Xlinker /Users/romain/Library/Developer/Xcode/DerivedData/Inwebo-cjsvoynkmpchgtfqkxxactulxfci/Build/Intermediates/Inwebo.build/Debug-iphoneos/Inwebo.build/Objects-normal/arm64/Inwebo_lto.o -Xlinker -export_dynamic -Xlinker -no_deduplicate -fembed-bitcode-marker -fobjc-link-runtime -L/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneos -Xlinker -add_ast_path -Xlinker /Users/romain/Library/Developer/Xcode/DerivedData/Inwebo-cjsvoynkmpchgtfqkxxactulxfci/Build/Intermediates/Inwebo.build/Debug-iphoneos/Inwebo.build/Objects-normal/arm64/Inwebo.swiftmodule -ObjC -lCocoaLumberjack -lLogger -lmaccess -lPods-Inwebo -single_module -compatibility_version 1 -current_version 1 -Xlinker -dependency_info -Xlinker /Users/romain/Library/Developer/Xcode/DerivedData/Inwebo-cjsvoynkmpchgtfqkxxactulxfci/Build/Intermediates/Inwebo.build/Debug-iphoneos/Inwebo.build/Objects-normal/arm64/Inwebo_dependency_info.dat -o /Users/romain/Library/Developer/Xcode/DerivedData/Inwebo-cjsvoynkmpchgtfqkxxactulxfci/Build/Products/Debug-iphoneos/Inwebo.framework/Inwebo

ld: library not found for -lCocoaLumberjack
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Podfile:

platform :ios, '8.0'
inhibit_all_warnings!
#use_frameworks! 

# ―――  Pre-Install  ――――――――――――――――――― #

plugin 'cocoapods-art', :sources => [
    'master',
    'cocoapods-psa'
]
# ―――  Install  ―――――――――――――――――――――― #

def shared_pods
   pod 'Logger',                '~> 1.0'
end

target 'Inwebo' do
    shared_pods
end

1 个答案:

答案 0 :(得分:1)

  • 清理并构建项目,然后运行应用程序
  • 还是错误?选中“构建设置”部分中的“启用Bitcode选项”。

尝试撤消该选项并重试(如果已启用,请将其关闭,反之亦然)

由于"启用Bitcode"不匹配,有时会出现此问题。项目和图书馆之间的选择。