今天刚升级到Xcode10,迫不及待运行项目,结果1S我就回到冰点,爆红点。
网查发现解决方案。网查的时候发现还有个问题似乎出现概率也挺高的,我就汇总一下,节省之后可能浪费的时间。
雷区一、二是我自己出现的问题,其他还没有实测,如果没有解决你的问题,请自行找度娘。
雷区一:
Multiple commands produce
雷区1
error: Multiple commands produce '/Users/xiaoyuan/Library/Developer/Xcode/DerivedData/Boobuz-gnxeuntgkenwgdgycqnvabqubafh/Build/Products/Debug-iphoneos/Boobuz.app':
1) Target 'Boobuz' has create directory command with output '/Users/xiaoyuan/Library/Developer/Xcode/DerivedData/Boobuz-gnxeuntgkenwgdgycqnvabqubafh/Build/Products/Debug-iphoneos/Boobuz.app'
2) That command depends on command in Target 'Boobuz': script phase “[CP] Copy Pods Resources”
分析error内容,错误发生在Copy Pods Resources,而且与output有关,应该是使用了cocoapods导致的,尝试删除该项目target-Copy Pods Resources-Output Files,成功解决问题。
参考解决方案:Xcode 10 beta3 Error: Multiple commands produce
雷区二
雷区2
ld: library not found for -lstdc++.6.0.9
clang: error: linker command failed with exit code 1 (use -v to see invocation)
项目用到了c++,依赖了libstdc++.6.0.9.tbd,导致整个工程编译不通过,原因是苹果在XCode10和iOS12中移除了libstdc++这个库,由libc++这个库取而代之,苹果的解释是libstdc++已经标记为废弃有5年了,建议大家使用经过了llvm优化过并且全面支持C++11的libc++库。
"libc++" C++ Standard Library
libc++和libstdc++
接下来更新这个库就好了,TARGETS—>Build Phases—>Link Binary With Libraries()
stdc++.6.0.9
直接删除,然后添加libc++解决。
更多详情查看Xcode10和iOS12适配
查找答案的时候发现报错ld: library not found for -lxxxx-ios-x.x.x之类的,可能在合并或者其他操作的时候,误删了这个库,试试在这个路径添加喽。
雷区三
:-1: Multiple commands produce '/Users/.../Library/Developer/Xcode/DerivedData/.../Build/Products/Dev-iphonesimulator/TLYShyNavBar/TLYShyNavBar.framework/Info.plist':
1) Target 'TLYShyNavBar' has copy command from '/Users/.../Desktop/Workspace/iOS/.../Pods/TLYShyNavBar/TLYShyNavBar/Info.plist' to '/Users/.../Library/Developer/Xcode/DerivedData/.../Build/Products/Dev-iphonesimulator/TLYShyNavBar/TLYShyNavBar.framework/Info.plist'
2) Target 'TLYShyNavBar' has process command with input '/Users/.../Desktop/Workspace/iOS/.../Pods/Target Support Files/TLYShyNavBar/Info.plist'
- In Xcode, go to File->Project/Workspace settings.
- Change the build system to Legacy Build system.
参考解决方案:Xcode10 Multiple commands produced error
雷区四
雷区4
这个项目中并未用到,直接删除了文件。