Xcode9和iOS 11遇到的一些问题

1、升级到Xcode9后新建一个工程,直接报错,如下图:

Xcode9和iOS 11遇到的一些问题_第1张图片

那把下图默认勾选的一项去掉就可以了,注意将LaunchScreen.storyboard 和Main.storyboard 的都要去掉。

Xcode9和iOS 11遇到的一些问题_第2张图片

因为在iOS7中引入的Top Layout Guide和Bottom Layout Guide,这些布局在iOS 11中被弃用,取而代之的是Safe Area Layout Guide. 如果继续报错,那就将下图中系统默认勾选的两项也去掉:

Xcode9和iOS 11遇到的一些问题_第3张图片

2、项目中用到了RealReachability来实时检测网络,但是用Xcode9打开后运行直接报错,如图:

解决办法:将缺少文件.m都在Compile Sources中添加上就可以了

Xcode9和iOS 11遇到的一些问题_第4张图片

还有可能会有这种错误,如下图:

Xcode9和iOS 11遇到的一些问题_第5张图片

解决方法:

将报错的地方这样写:

__Check_Compile_Time(sizeof(ICMPHeader) == 8);

__Check_Compile_Time(offsetof(ICMPHeader, type) == 0);

__Check_Compile_Time(offsetof(ICMPHeader, code) == 1);

__Check_Compile_Time(offsetof(ICMPHeader, checksum) == 2);

__Check_Compile_Time(offsetof(ICMPHeader, identifier) == 4);

__Check_Compile_Time(offsetof(ICMPHeader, sequenceNumber) == 6);

Xcode9和iOS 11遇到的一些问题_第6张图片

就可以了。

3、MJRefresh上拉刷新,明明已经调用结束刷新,但是并没有作用,还在一直加载请求数据,如下图所示:

Xcode9和iOS 11遇到的一些问题_第7张图片

解决方法: 

self.tableView.estimatedRowHeight = 0;

self.tableView.estimatedSectionHeaderHeight = 0;

self.tableView.estimatedSectionFooterHeight = 0;

你可能感兴趣的:(Xcode9和iOS 11遇到的一些问题)