从code7到xcode8都有哪些坑?

冲动的惩罚

自从有那段使用beta版本的Mac OSX系统,导致机器时常开机卡死的经历之后,就尽量不敢在第一时间使用苹果的beta版系统。但是,由于自己是名iOS开发者,当Xcode出了beta版本无疑是需要第一时间体验一下的,即使Xcode beta版本可以不体验,但是出了第一个Release版本却是不得不更新。接下来讲的就是在使用Xcode8.0所遇到的坑。

坑与填平坑

Storyboard

对于Storyboard相信大家对它都不陌生,自从iOS5之后就开始支持了,是一种可视化开发组件。本人使用过Android、Windows Phone以及iOS的可视化组件,可以说Storyboard是这三个平台中最流畅、最好用的可视化开发组件,采用StoryBoard虽然会比纯代码写UI效率上会有那么一点损耗,但对于一般的应用,在开发之初它确实可以大大的提高开发效率、也易于维护(可以想想当年那些不采用Storyboard编写的代码,即使更改一个坐标位置都是极其痛苦的),可以说是利大于弊。但是就在最近升级到Xcode8之后,发现StoryBoard有如下几点变动(坑)。

所有UI控件的宽高设定了同一个初始值:1000。

在Xcode7的时候,StoryBoard生成的UI控件的默认宽高都是3.5英寸的宽高。采用自动布局时,在load完Storyboard之后,读取到UI控件的宽虽然不正确,但是大部分情况下高却是我们想要的,并且由于宽是320,是小于等于任何尺寸的宽,所以在UI渲染上并没有可见性的问题。
但是对于Xcode8则不同,只要是通过Storyboard生成的UI都是统一给定一个固定值:1000。在load完Storyboard之后,自动布局计算完高度之前,读出来的宽高都是1000。这就导致原先所有依赖于bounds计算位置宽高,没有任何问题的UI展示逻辑,采用Xcode8一编译就乱套了,比如会看到:图片无故拉长后再恢复原状,原先好好的布局出现了UI重叠在一起,有的UI甚至刷新不出来等。解决的办法主要有两个:

  • 将Storyboar的打开方式选择xcode7.x(在右侧Show the file inspector->interface Builder Document->open in)。但这么做的缺点是:当你再次打开Storyboard,Xcode又帮你自动选中打开方式为Xcode8.0。而且为了以后着想,还是采用下面这种方式吧。
  • 在代码要使用UI宽高做些计算之前,调用一下layoutIfNeeded。这样就能获得在Storyboard设计的宽高(当使用4.0英寸来设计获得就是在4.0英寸下的宽高,采用的是3.0英寸来设计获得的就是3.0英寸的宽高)。

cornerRadius

本人在开发过程中还遇到了这么一个问题:明明之前显示得好好的控件,为什么采用Xcode8编译之后,就消失不见了呢?并且采用Capture view Hierarchy工具查看又能看见这个控件,但是在模拟器或者真机上就是死活渲染不出来。经过各种调试最后发现是因为cornerRadius设置了一个比自己宽高还大的值(类似bounds.size.width / 2这样的逻辑,由于默认宽高为1000,因此计算出来的cornerRadius就是500了,比我的控件的宽高都大),导致了控件渲染不出来。这种情况采用上面的第二种方法,在使用bounds之前layoutIfNeeded一下,就基本跟以前一样了。

TableView static cells

当采用Taleview的的静态cell之后,如果header的高度是动态变化的,不管你如何reload data,底下的cell的frame都不会发生改变,除非你自己手动设置目标cell的frame。

不支持iOS7,却可以提交iOS7应用

Xcode8之后就不支持iOS7设备的调试了,但是Apptore却可以提交iOS7系统的应用。当在iOS7设备上遇到bug的时候,调试就成了困难。你不得不再下载一个xcode7来进行iOS7的调试,并且前提是你没有升级macOS为10.12,否则你连xcode7都打不开,更谈不上调试了。虽然现在确实iOS7的用户量很少,可对于一个步入正轨的app,只能是慢慢的放弃。开发工具虽不支持调试,但却可以提交Appstore,这对于开发者来说,对老板,用户都不好交代。既然想要放弃iOS7,为啥不干脆整个入口都封死呢?

卡卡卡

最后一点就是卡顿啊,特别是与macOS10.12配合一起,一编译,好几次机器几乎就变成了单进程应用了,其他的应用瞬间失灵。大好心情转瞬即逝啊!

最后

这次的Xcode8的升级之旅太不愉快了。经过这几年的iOS开发,一路走来感觉苹果的产品bug越来越多,也越来越不稳定,真为自己担忧啊。不知道看到这篇吐槽的iOS开发者们,你们是否也遇到了一些Xcode8的坑?

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,013评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,205评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,370评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,168评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,153评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,954评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,271评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,916评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,382评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,877评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,989评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,624评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,209评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,199评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,418评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,401评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,700评论 2 345

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,022评论 4 62
  • 长期饭票哪有那么好找,《谜城》里古天乐这句话戳破了多少人的美梦! 这其中也包括我!就知道也包括你! 为什么王思聪是...
    歌舒雪阅读 345评论 0 0
  • 秋季已过了大半,孩子们开学也有一个半月。今日带孩子在院子里开会,一个孩子看着眼前的桂花树,感叹道:桂花都开了。 是...
    任亚阅读 285评论 0 0
  • 深夜里,深夜食堂总是发生着有意思的故事。 高中时代的F4,一起上课,一起玩闹,一起打篮球,一起吃煎饼果子,一起走过...
    溪谷Y阅读 788评论 1 2
  • 又是一个秋 又有几多愁; 今夜相思苦 明朝向谁求。 云低愁眉索 潇潇清泪流, 君若知我意 月上柳稍头。 玉指拂琴瑟...
    货车司机牛二哥阅读 200评论 0 1