1. 程式人生 > >更新到xcode 10 版本ios 12出現的問題

更新到xcode 10 版本ios 12出現的問題

更新到xcode 10 版本ios 12出現的問題

workspace編譯時報錯

報錯具體如下:

Showing Recent Messages
:-1: Multiple commands produce '/Users/xxx/Library/Developer/Xcode/DerivedData/TestProject-apxxxxxxxxxxeqsvu/Build/Products/Debug-iphoneos/TestProject.app/LICENSE':
1) Target 'TestProject' (project 'TestProject') has copy command from '/Users/xxx/Desktop/work/ios/workspaceios/Test_Project/TestProject/Framework/MBProgressHUD/LICENSE' to '/Users/xxx/Library/Developer/Xcode/DerivedData/TestProject-apxxxxxxxxxxeqsvu/Build/Products/Debug-iphoneos/TestProject.app/LICENSE'
2) Target 'TestProject' (project 'TestProject') has copy command from '/Users/xxx/Desktop/work/ios/workspaceios/Test_Project/TestProject/Framework/SDWebImage/LICENSE' to '/Users/xxx/Library/Developer/Xcode/DerivedData/TestProject-apxxxxxxxxxxeqsvu/Build/Products/Debug-iphoneos/TestProject.app/LICENSE'


Showing Recent Messages
:-1: Multiple commands produce '/Users/xxx/Library/Developer/Xcode/DerivedData/TestProject-apxxxxxxxxxxeqsvu/Build/Products/Debug-iphonesimulator/TestProject.app/Info.plist':
1) Target 'TestProject' (project 'TestProject') has copy command from '/Users/xxx/Desktop/work/ios/workspaceios/Test_Project/TestProject/Framework/Masonry/Info.plist' to '/Users/xxx/Library/Developer/Xcode/DerivedData/TestProject-apxxxxxxxxxxeqsvu/Build/Products/Debug-iphonesimulator/TestProject.app/Info.plist'
2) Target 'TestProject' (project 'TestProject') has process command with output '/Users/xxx/Library/Developer/Xcode/DerivedData/TestProject-apxxxxxxxxxxeqsvu/Build/Products/Debug-iphonesimulator/TestProject.app/Info.plist'

參考https://stackoverflow.com/questions/51071090/multiple-commands-produced-error-xcode-10
解決方法一:選單-》File-》Project Settings…(或者Workspace Settings…)-》修改Build System為:Legacy Build System(原來是:New Build System)
示例
解決方法二:如果仍然想用New Build System,則需要從報錯中看具體哪些檔案出現問題,從 Build Phase的Copy Bundle Resources中刪除就好。步驟:點選專案-》點選TARGETS列表中需要編譯的-》點選Build Phase-》展開Copy Bundle Resources-》對照刪除出現問題的檔案。
PS:認為解決方法一比較省事,但是解決方法二比較治本。

編譯報錯二

報錯具體如下:

Ld /Users/xxx/Library/Developer/Xcode/DerivedData/TestProject-apxxxxxxxxxxeqsvu/Build/Products/Debug-iphonesimulator/TestProject.app/TestProject normal x86_64
    cd /Users/xxx/Desktop/work/ios/workspaceios/Test_Project
    export IPHONEOS_DEPLOYMENT_TARGET=8.0
    export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.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 x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.0.sdk -L/Users/xxx/Library/Developer/Xcode/DerivedData/TestProject-apxxxxxxxxxxeqsvu/Build/Products/Debug-iphonesimulator -L/Users/xxx/Desktop/work/ios/workspaceios/Test_Project/TestProject -L/Users/xxx/Desktop/work/ios/workspaceios/Test_Project/TestProject/Framework/SmartAPI/3rd_party/lib -L/Users/xxx/Desktop/work/ios/workspaceios/Test_Project/TestProject/Framework -F/Users/xxx/Library/Developer/Xcode/DerivedData/TestProject-apxxxxxxxxxxeqsvu/Build/Products/Debug-iphonesimulator -F/Users/xxx/Desktop/work/ios/workspaceios/Test_Project/TestProject -F/Users/xxx/Desktop/work/ios/workspaceios/Test_Project/TestProject/Framework -filelist /Users/xxx/Library/Developer/Xcode/DerivedData/TestProject-apxxxxxxxxxxeqsvu/Build/Intermediates.noindex/TestProject.build/Debug-iphonesimulator/TestProject.build/Objects-normal/x86_64/TestProject.LinkFileList -Xlinker -rpath -Xlinker @executable_path/Frameworks -mios-simulator-version-min=8.0 -dead_strip -Xlinker -object_path_lto -Xlinker /Users/xxx/Library/Developer/Xcode/DerivedData/TestProject-apxxxxxxxxxxeqsvu/Build/Intermediates.noindex/TestProject.build/Debug-iphonesimulator/TestProject.build/Objects-normal/x86_64/TestProject_lto.o -Xlinker -export_dynamic -Xlinker -no_deduplicate -Xlinker -objc_abi_version -Xlinker 2 -fobjc-arc -fobjc-link-runtime -ObjC -Xlinker -sectcreate -Xlinker __TEXT -Xlinker __entitlements -Xlinker /Users/xxx/Library/Developer/Xcode/DerivedData/TestProject-apxxxxxxxxxxeqsvu/Build/Intermediates.noindex/TestProject.build/Debug-iphonesimulator/TestProject.build/TestProject.app-Simulated.xcent -lz -lc++ -framework Security -framework KSCrash -framework NetworkExtension -framework SystemConfiguration -framework WebKit -framework TSGsdk -lstdc++.6.0.9 -Xlinker -dependency_info -Xlinker /Users/xxx/Library/Developer/Xcode/DerivedData/TestProject-apxxxxxxxxxxeqsvu/Build/Intermediates.noindex/TestProject.build/Debug-iphonesimulator/TestProject.build/Objects-normal/x86_64/TestProject_dependency_info.dat -o /Users/xxx/Library/Developer/Xcode/DerivedData/TestProject-apxxxxxxxxxxeqsvu/Build/Products/Debug-iphonesimulator/TestProject.app/TestProject

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

最重要的內容為:library not found for -lstdc++.6.0.9,當時不知道為什麼要新增這個庫,現在也忘了,刪除之後編譯通過。
解決方法:點選專案-》點選TARGETS列表中需要編譯的-》點選Build Phase-》展開Link Binary With Libraries(或者直接搜尋報錯庫名)-》刪除
在這裡插入圖片描述