Xcode 10碰到的坑及解决办法(更新中)

为了响应代码开发的号召,我在第一时间更新了xcode10,下完发现之前的项目编译出错,新建的项目也有一系列问题,碰壁了半天又去搜资料,暂时解决了出现的问题,记录如下:

问题一:以前的代码编译出错

第一步:
原因:libc++.tbd 库取代了libstdc++.6.0.9.tbd库
解决方法:我在项目里去掉了libstdc++.6.0.9.tbd库

这个时候去编译还是会报错,
解决方法:Xcode-file-workspace setting-build system-legacy build system
Xcode 10碰到的坑及解决办法(更新中)_第1张图片
修改成老的编译系统就可以成功运行代码了

问题二和问题三都是更改成legacy build system的这个方法可以解决的问题:

问题二:新的项目中,使用pod导入第三方库以后,如果做了自动导入头文件的设置, 在项目中导入头文件的时候会无限闪退,不做这个设置则不提示导入库的头文件,很不方便

问题三:项目中不能导入不在同一级的文件夹下的头文件

问题四:代码有黄色警告 Null passed to a callee that requires a non-null argument,意思是某个属性不能为空

原因:由于创建一个类的时候会自动加上
NS_ASSUME_NONNULL_BEGIN&&NS_ASSUME_NONNULL_END宏,包住多个属性全部具备nonnull

_nullable && ___nonnull

__nullable指代对象可以为NULL或者为NIL
__nonnull指代对象不能为null

所以在属性为空值时会报警告,只要声明一下属性的__nullable就好了,例如:

-(NSString*)encoingWithDic:(NSMutableDictionary *__nullable)dataDic

暂时遇到这几个问题,接下来开发过程中如果有其他问题,我会更新文章!

你可能感兴趣的:(Xcode 10碰到的坑及解决办法(更新中))