Xcode10 编辑报错及亮点

Xcode10正式版今天终于可以下载了,由于公司的网上... 直到晚上才爬完.
兴冲冲的运行项目,但还是发生了一个报错

编辑报错libstdc++.png

从上图中看到library库查找不到 libstdc++.6的文件.
查看对应的目录


Xcode10 编辑报错及亮点_第1张图片
Targets->Build Phases.png

或者直接查看文件目录

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/

确实没有libstdc++库了. 多了libc++库.
网上查阅资料:
Xcode10中 项目用到了c++,依赖了libstdc++.tbd和libstdc++.*.tbd,导致整个工程编译不通过,报出Undefined symbols,C++ 的 List 找不到了,原因是苹果在XCode10和iOS12中移除了libstdc++这个库,由libc++这个库取而代之,苹果的解释是lib转载自斗玩网stdc++已经标记为废弃有5年了,建议大家使用经过了llvm优化过并且全面支持C++11的libc++库。

但因为我的这个库是第三方使用的,自己没有权限去改,临时有个解决方案.
将Xcode9(含有libstdc++..tbd库的版本)中的libstdc++库导入到XCode10中:
命令行:
cp /Applications/Xcode9.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/libstdc++.
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/
cp /Applications/Xcode9.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/libstdc++.* /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/

PS:升级Xcode要养成一个良好的习惯,升级前保留原先的Xcode版本,通过改名字就可以了. 如果丢失了旧的静态库,也可以从其他地方拷贝过来.

Xcode10 亮点:

  1. 代码块位置的移动(个人猜想苹果应该是希望我们能更好的使用它,提升开发效率),操作简单多了.


    Xcode10 编辑报错及亮点_第2张图片
    代码块使用.png
  2. Assets.xcassets 多了Appearances 浅背景、深背景 和 High Contrast 选项,用户体验可以更上一层楼了. 以后UI稿又要增加了


    Xcode10 编辑报错及亮点_第3张图片
    Assets新增选项.png
  3. 创建系统.
    比较新奇,查阅资料后才发现:新创建系统提供了更好的可靠性与创建性能,它可以获取项目配置问题,而legacy创建系统则不能。
    Legacy创建系统在Xcode 10中依旧可用。
    创建布置如下图:


    Xcode10 编辑报错及亮点_第4张图片
    Build System.png
Xcode10 编辑报错及亮点_第5张图片
系统选择.png
总结:Xcode10, 还有好多亮点,比如发布测试等,要慢慢玩着才能发现了.苹果这次发布感觉很给力,就像iOS12系统,手机升级后明显能感受到顺畅很多了,

你可能感兴趣的:(Xcode10 编辑报错及亮点)