解决Xcode 11 / iOS 13 的坑
2019-10-11 本文已影响0人
崇山峻岭
Xcode 运行不了模拟器和真机
这个问题在升级Xcode 10的时候其实已经解决过一次, 根本原因就是Xcode10 开始苹果删除了几个C++ 运行库
报错如下:
dyld: Library not loaded: /usr/lib/libstdc++.6.dylib
Referenced from: *************************
Reason: no suitable image found. Did find:
/usr/lib/libstdc++.6.dylib: mach-o, but not built for iOS simulator
所以解决思路就是用旧版的Xcode中的对应文件替换新版Xcode相关文件
-
解决真机问题:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/
再find中找到以下文件夹, 将此 文件件中文件 放进来就可以解决
-
解决模拟器编译问题:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/
打开上面文件夹将此 文件夹中文件 放进来, 即可解决编译不同过问题.
以上两步都解决后运行真机应该没问题, 运行模拟器依然会发现再APP启动之后就会崩溃崩溃信息还是说没找到/usr/lib/libstdc++.6.dylib, 所以需要操作下面的步骤,
-
解决模拟器运行崩溃问题:
打开下面的文件夹 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib 注意上面文件路径不能直接前往, 需要分段进入 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/ 右键iOS.simruntime, 显示包内容才能看到后面的内容!
打开以上文件夹之后将此文件夹中文件 放入, 如果没有意外, 你就可以开开心心的使用真机和模拟器了.
接下来要说的是新浪微博的问题, 如果你接入了新浪微博会发现模拟器运行起来后直接崩溃, 遇到这种情况别慌张, 且听我慢慢来说!
解决新浪微博导致的模拟器崩溃问题
报错信息如下:
objc[91447]: Class _NSZombie__NSXPCConnectionExpectedReplyInfo is implemented in both ?? (0x6000027fdfe0) and ?? (0x6000027f4a80). One of the two will be used. Which one is undefined.
Assertion failed: (NO == [udid_string isEqualToString:@"00000000-0000-0000-0000-000000000000"]), function +[UIDevice(WBSDKHelpers) getUniqueStrByUUID], file /Users/insomnia/Desktop/git_Weibo_sdk/WeiboSDKSrc/WeiboSDK/UIDevice+WBSDKHelpers.m, line 116.
这个很明显是新浪sdk内部问题, 而且是二进制文件里面出错, 所以我们开发者也无能为力, 只能等着新浪微博发布新版SDK, 好在新浪微博反应迅速, 目前最新版本的 iOS SDK 为 3.2.2, 下载新版新浪SDK 即可解决
对于大多数使用第三方集成分享SDK的, 由于第三方更新比较慢, 所以只能采取临时替换新浪SDK的策略, 尤其是用cocoapods导入的, 可以直接去pod目录下将老版本的SDK换掉!
命令行工具git 不能使用
之前安装新版Xcode后会主动提示用户安装command line tool 工具, 但是不知为何 Xcode 11 安装后没有提示, 所以git命令操作也有问题, 莫慌, 命令行执行命令即可
xcode-select --install
以上是升级Xcode 11的 临时遇到的问题, 总结一下给大家参考