Xcode 10/iOS 12适配

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 登录开发者帐号,勾选指定 App ID 的 Access WiFi Information;
  • 打开 Xcode 工程,Capabilities 开启 Access WiFi Information。

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

版权信息:本文为 kanchuan.com 原创,转载时请明确注明本文链接。

相关文章:

Xcode Build Settings
解决 Xcode 下载 iOS Simulator 频繁失败的问题
xcodebuild:code signature invalid
xcodebuild build failed:Use the $(inherited) flag
iOS:清除Xcode缓存

发表留言

您的电子邮箱地址不会被公开,必填项已用*标注。发布的留言可能不会立即公开展示,请耐心等待审核通过。