版本适配

版本适配

5、接触过几个iOS版本,在版本兼容方面有哪些感悟。

接触过iOS6、iOS7、iOS8、iOS9,已经更新至iOS9。其实不管iOS是哪个版本,在苹果设备上面的使用体验都不会太差。

http://www.cnblogs.com/salam/p/4344582.html   iOS及历史版本特性介绍

http://iphone.tgbus.com/faq/201509/20150909161107.shtml  iOS9

5.纯代码写布局的参数

纯代码创建七个参数

关于常用的手码约束的第三方框架

有Masonry和UIView+Autolayout

框架地址是:

https://github.com/Masonry/Masonry

https://github.com/smileyborg/UIView-AutoLayout

UIView+Autolayout框架

这个相对于masonry,是个轻量级的框架易于上手,里面一共也就两个文件。也非常好用,都是用auto开头。适用于约束不经常改变的项目

Masonry框架

这个框架是重量级的里面好多文件,难于上手,但是用熟练了的话比上面那个牛X,适合于约束要经常改变的项目。

16.ipone4/iphone5/iphone6/iphone6Plus的屏幕尺寸

ipone4屏幕尺寸320 x 480屏幕分辨率960x640

iphone5屏幕尺寸320 x 568屏幕分辨率640x1136

iphone6屏幕尺寸375 x 667屏幕分辨率640x1334

iphone6Plus屏幕尺寸414 x 736屏幕分辨率1080x1920

13.适配6Plus;

第1条:选用自适应布局和通用Storyboard

第2条:开启全屏显示模式与启动画面文件

第3条:新一代Retina显示屏和@3x图片

第4条:修复位置许可

第5条:修复通知注册

第6条:友好的二次许可请求

第7条:释放Swift语言的力量

第8条:重要的API隐退或更新信息

第9条:新增的酷炫视觉效果

感悟:

每一次升级,是对前一版系统的不足进行修补或新功能的发布。

一个项目(Project)可以有多个目标(Target),每个目标可以指定不同的设置(例如支持不同的系统版本,引用不同的Framework等)。项目设置会覆盖默认设置,而每个目标的设置则会覆盖项目设置。在Xcode的项目浏览窗口中点击项目,在TARGETS中选择某个目标,即可在右侧的“Build Settings”中看到默认设置、项目设置、所选目标设置与最终的设置值。

例如,当使用Xcode 5打开某个项目时,Base SDK为7.0,也就是用7.0的SDK来编译链接项目app。如果这个app只想支持iOS 7系统,则Deployment Target可以设置为7.0。如果你的app还想兼容iOS 6或者更早版本,则应把Deployment Target置为要支持的最低的系统版本号。由此可知,Deployment Target一定小于等于Base SDK。

注意,因为此时是用最新的SDK生成app,但却允许在早期版本的系统上运行,所以此时开发者要确认在旧系统上运行app时不能调用那些新的SDK中添加的功能,否则会在运行时出错导致app闪退。下面就介绍一下如何确保app能够在旧的系统上正确运行。

app在旧的系统上运行的过程中,可能会使用系统未提供的常量、变量、C函数、类、类的方法,也可能会调用不存在的Framework中的功能。对于Xcode4.6.3及更早版本,程序可以编译通过,但运行时闪退。Xcode 5则进行了很大改进,如果代码中出现了上述情况,直接给出警告和错误。

43.iOS9的一些新功能

一、将iCloud Driver显示在桌面

二、Siri静音

三、选取多张照片

四、隐藏照片

五、全新的备忘录

六、在spotlight隐藏app的搜索

七、低电量模式

25.StoreBoard和纯代码编程各有什么好处?还有运行时机制。

(1)StoreBoard优点:

效率高;

Auto Layout,做适配很方便;

多语言很方便;

静态TableView,CollectionView极其方便;

最重要的是直观,结构清晰,一目了然!

(2)缺点:

不适合团队开发使用;适合大号显示器,尤其是iPad开发!

缺点解决方案:

冲突问题:storyboard一般只是用于展示页面布局,布局不是个经常变动的东西,如果需要修改,修改的次数也非常的少。一般在团队中专门约定几名负责人专门修改页面布局就可以了。如果真的需要很多人改,请拆分storyboard。

性能问题:性能的瓶颈真的在这里吗?有这些时间多多优化一下代码,多使用异步block的效果更为明显吧。

大型项目的问题:大型项目中细分storyboard不仅可以解决打开卡顿的问题,也会使产品线更为直观。

复用问题:storyboad的确不能复用,可复用的组件可以用NIB进行封装,然后引入storyboad。

(3)什么时候使用storyboard?

组织多种view的层级关系,也就是传说中的segue。使用一些列表或表格单元的模板的时候。能使用storyboard的情况下尽量用storyboard。

什么时候不建议使用storyboard?

动态或复杂布局,这时候可能需要用代码来计算相关view的位置。如果一个view已经用NIB或代码实现

(4)什么时候使用nib?

模态框(如登录提示什么的)可复用视图组件或模板

什么时候不推荐使用nib?

有动态内容的视图

不方便在IB中进行设计的试图

(5)什么时候使用代码?

纯代码好处就是灵活,接手项目的时候好改。缺点,很明显慢。

动态布局

试图特效

什么时候不推荐使用代码?

什么时候使用代码都是一个好方法,但不一定是最好的。

31.有没有做适配?怎么做的?

纯代码可以使用masonry,可视化编程使用AutoLayout

你可能感兴趣的:(版本适配)