我有一个简单的ios swift 3项目,运行在xcode 8.1(8b62)中,它编译得很好,执行起来也很好。
把它推到我的svn repo上,我的同事也能得到它。一切都好。
我们得加一个豆荚,就这样做了。(豆荚是一个基于可可木材千斤顶的小圆木工具,在我们所有的项目中使用了很长时间)我的两个同事在几分钟内就完成了。但是,我得到链接器失败错误。链接器错误是关于-lcocolumberjack,但是如果我添加任何其他pod,链接器遇到的第一个pod会使其崩溃。
我已经尝试了在其他类似问题上提出的每一个技巧,清理项目,清除派生数据,重新启动xcode,更改架构参数,清理pods,deintegrate pod,清理测试主机,删除测试目标…一千次
我已经删除了这个项目,并从repo下载回来,得到了同样的问题。
我还将cocoapods更新到v1.1.1。(和我的同事一样)。
使用框架!或者从来没有做过不同的事情。
由于我的同事拥有完全相同的项目、源和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)
播客文件:
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
最佳答案
清理并生成项目,然后运行应用程序
还是错误?选中“生成设置”部分中的“启用位代码”选项。
尝试反转该选项并重试(如果该选项处于打开状态,则关闭该选项,反之亦然)
此问题有时是由于项目和库之间的“启用位代码”选项不匹配而导致的。
关于swift - 链接器失败,退出代码为1。,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40972300/