近期升级Xcode10后,运行原来的项目会出现各种报错,大致分为下面两种,附带解决方案。
一、Multiple commands produce 错误
这是因为编译方式和之前的不一样。解决方式为
二、libstdc++ 库报错(Xcode 10 取消了内置支持的 libstdc++ 库)
方案:可以直接使用libc++ 这个库来替换,或者麻烦一点从Xcode 9 那边拷贝一个libstdc++.6.tbd 和 libstdc++.6.0.9.tbd到xcode10中。
1、真机路径
/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/
2、将真机和模拟器libstdc++.6.0.9.tbd libstdc++.6.tbd libstdc++.tbd文件复制到上面相应的路径。
如果真机生效,模拟器未生效,依旧报错,进行下面操作:
找到路径
/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/
也可以使用博主亲测的替换动态库去Xcode10中的动态库