升级到Xcode10 遇到的问题汇总分享。
1、Multiple commands produce ...
处理 :
选择Xcode,左上角 File -> Workspace Settings... , 然后将 Build System 的选项 选择 Legacy Build System .
2、library not found for -lstdc++.6.0.9
处理完第一个问题,可能会出现第二个问题, library not found for -lstdc++.6.0.9
处理方式: 文件替换/增加。
升级到Xcode10,由于iOS12移除了libstdc++.6.0.9,所以好的办法就是把这个库用libc++替换掉。但是项目中有的第三方的静态库里面使用到了,并且还没来得及修复这个问题,实在是没得什么好办法,所以就暂时把Xcode9中的libstdc++移动到了Xcode10对应目录下,之后再处理了。具体路径-->
真机路径
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/libstdc++.*
模拟器路径
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/libstdc++.*
替换文件相关下载 :
或
3、/usr/lib/libstdc++.6.dylib: mach-o, but not built for iOS simulator
在完成的上面的文件替换之后,在模拟器iOS10.0以上运行可能会出现一个错误:
Reason: no suitable image found. Did find:
/usr/lib/libstdc++.6.dylib: mach-o, but not built for iOS simulator
这里还需要拷贝旧Xcode中的
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libstdc++.6.0.9.dylib
并改名为 libstdc++.6.dylib 后粘贴到新Xcode同样的位置。 (注意在/Profiles/Runtimes/iOS.simruntime这里时需要右键显示包内容)。
如果旧版本的Xcode已不存在,这里也提供相应的文件下载。下载中的文件已改名为 libstdc++.6.dylib ,只需要直接替换进去即可。
或