Xcode 10/iOS 12适配 / 2018-09-26

Apple升级Xcode 10及iOS 12后,需要对项目进行适配,下面是笔者在实际开发中遇到的适配问题。

New Build System

Xcode 10引进了新的编译系统,提高了系统的可行性和性能。New Build System检测了legacy build system忽略的项目,可能会造成旧有项目在New Build System下构建失败。可以通过Xcode->File->Workspace Settings sheet切换。

ld:library not found for --lstdc++6.0.9

stdc++6.0.9已经很久未更新,Apple在Xcode 10中引入了全新的libc++.tbd,但一些第三方依赖可能并未及时更新,此时可以将旧版本Xcode的libstdc++.6.0.9.dylib拷贝到Xcode 10中,具体目录在:Xcode.app/Contents/Developer/Platforms/iPhoneOS. platform/Developer/SDKs/iPhoneOS.sdk/usr/lib(分别操作真机和模拟器目录)。

另外一个问题是:即使操作了以上步骤,也可能出现libstdc++.6.dylib: mach-o, but not built for iOS simulator错误,此时把APP安装在非iOS 12设备中即可。

Access WiFi Information

iOS 12之后,通过CNCopyCurrentNetworkInfo获取WiFi SSID BSSID信息需要申请权限。

参考:https://developer.apple.com/xcode/whats-new/

其它文章

iOS 14 适配:更严格的用户隐私保护
iOS TestFlight的局限性及改进措施
iOS APP灰度发布方案
iOS Universal Links
iOS系统如何获取用户的本机手机号