1、Xcode10 中多余的文件
例如:多余的info.plist 文件
Multiple commands produce 'xxx/info.plist':
解决方法:删除多余的文件即可,比如info.plist只留下自己的info.plist,第三方等的info.plist 文件删掉引用。
2、Xcode 10 c++库的问题
原因: 项目依赖了libstdc++.tbd和libstdc++.6.0.9.tbd,导致整个工程编译不通过,报出Undefined symbols错误, 原因是苹果在XCode10和iOS12中移除了libstdc++这个库,由libc++这个库取而代之,苹果的解释是libstdc++已经标记为废弃有5年了,建议大家使用经过了llvm优化过并且全面支持C++11的libc++库。
解决:如果你自己的工程中使用了libstdc++或libstdc++.6.0.9.tbd,那么就把模块代码重新调整为依赖libc++,然后重新检查是否存在问题,重新编译。
注意:如果你引用的三方库使用了libstdc++或libstdc++.6.0.9.tbd,那么向三方库寻求支持,进行升级。
3、iOS 12 statusBar内部结构发生变化
现象:
crash log:-[_UIStatusBarIdentifier isEqualToString:]: unrecognized selector sent to instance 0x153543529* Terminating app due to uncaught exception ‘NSInvalidArgumentException’, reason: ‘-[_UIStatusBarIdentifier isEqualToString:]: unrecognized selector sent to instance 0x153543529’
原因
1.pngiOS12.0 情况下identifier的变成了类"_UIStatusBarIdentifier"而不是NSString,所以会在调用“isEqualToString”方法时发生crash。
4、Xcode 10 imageNamed: 不能正常加载Assets里面的图片
imageNamed:加载Assets中的图片出来是nil,将图片放到bundle中即可。
5、iOS 12 无法获取SSID信息
现象:获取网络信息SSID信息的方法,返回NO
2.png原因:在iOS 12中,调试发现由CNCopyCurrentNetworkInfo函数得到的info一直为nil。CNCopyCurrentNetworkInfo方法在iOS 12中有了变化。通过查看官方文档,发现文档中增加了Important字样的描述:
3.png其中important:
重要
要在iOS 12及更高版本中使用此功能,请在Xcode中为您的应用启用Access WiFi信息功能。 启用此功能后,Xcode会自动将Access WiFi信息权利添加到您的权利文件和应用程序ID中。
解决:Xcode -> [Project Name] -> Targets -> [Target Name] -> Capabilities -> Access WiFi Information -> ON
注意:buildID需要增加此功能,配置文件需要重新配置。
6、Xcode10 import 闪退
import 输入系统库或第三方库的头文件时,Xcode整个闪退。
解决:切换一下编译方式,就不闪退了
Xcode --> File --> Workspace Settings --> Build System --> Legacy Build System
然后在切换回来New Build System(Default),也可以。
网友评论