随着iOS10.0的推出,原本打算继续使用Xcode7.3.1+iOS10包来做iOS10的适配,但是想到7.3.1各种不方便(模糊查找,类名不提示等),果断决定升级到8,想来8应该这些问题都解决了,再着技术交流群里各种说8好,但也说坑很多的,想来自己看看,所以。。。。就8了。
首先查看群友说的xib的问题,于是第一件事不是Run而是打开xib,然后。。。
提示选择设备来展示接口
那就选者吧,6s,我喜欢的😄。选择后会立马多出许多⚠️,点开发现xib的子控件的Fram需要更新,所以照它说的做了,把所有xib文件都点了一遍,然后就是跑下看。
什么鬼?
一运行,控制台就输出如上图,什么鬼?吓的我立马百度,也没看到说明这是啥的,但是有屏蔽方法,于是照做了(似乎这些东西可以忽略),屏蔽方法如下
点击1方框选择Edit Scheme-> Run -> Arguments, 在Environment Variables里边添加
OS_ACTIVITY_MODE = Disable就可以解决了。
解决完了,就运行就在模拟器上各种点击,查看页面,显然又遇到问题
为神马?
昨天还正常显示的页面,子视图都不见了?消失了,然后就各种找原因,通过图层信息发现
果然是Fram的原因,最后在越界的地方发现了子视图。说明7->8的约束没有生效,那么就重新约束下,然而还有种解决方案
原来Xcode 7.x和8.0可以同时存在,并格提供了转换方法,将Opens in 的8.0改成7.x就解决了,但有点烦人的是,你每次打开这个xib都会让你选择device,如果这时你的xib不用修改 了就不要选择choose device了,而是直接close document,否则要重新改opens in