同样的代码,Xcode10更新之后就碰到下面的问题:
1、Multiple commands produce
error: Multiple commands produce '/Users/wangxinnian/Library/Developer/Xcode/DerivedData/XianJinDai-hdgighasmindgucxaexhcjoxpjzu/Build/Products/Debug-iphoneos/XianJinDai.app/Info.plist':
1) Target '项目名' (project '项目名') has copy command from '/Users/wangxinnian/Documents/LanSha/XianJinDai/XianJinDai/XianJinDai/Tools/ThirdLibrarys/MJExtension/Info.plist' to '/Users/wangxinnian/Library/Developer/Xcode/DerivedData/XianJinDai-hdgighasmindgucxaexhcjoxpjzu/Build/Products/Debug-iphoneos/XianJinDai.app/Info.plist'
2) Target '项目名' (project '项目名') has process command with output '/Users/wangxinnian/Library/Developer/Xcode/DerivedData/XianJinDai-hdgighasmindgucxaexhcjoxpjzu/Build/Products/Debug-iphoneos/XianJinDai.app/Info.plist'
原因:是Xcode 10 默认使用的build system是New build system,与Xcode9不同导致。
解决办法:修改build system
在Xcode菜单栏-File-Workspace Settings...,将Build System改为Legacy Build System(默认是New Build System(Detault)),然后clean(快捷键Command+Shift+k)一下编译。
2、library not found for -lstdc++.6.0.9(临时解决方案)
解决了第1个问题之后,随即出现下面的问题
library not found for -lstdc++.6.0.9
原因:Xcode 10中将libstdc++.6.0.9库文件删除,原本功能迁移至其他库,部分项目依赖 libstdc++.6.0.9 的会在Xcode 10无法运行。
解决办法:这里分两种情况,一个是真机调试,一个是模拟器调试
我们去Xcode以前的版本(右键Xcode,显示包内容,下面的路径不包含/Applications/Xcode.app/,如果是在终端操作,下面就是完整目录)
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/(真机)
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/(模拟器)
下面找到
把从网上下载的libstdc++.6.0.9.tbd 文件,扔进去
重启Xcode就解决了。
3、描述文件(证书)选择出错:Code Signing Error
参考《关于真机调试遇到的问题汇总》第6条