文档章节

【iOS9】iOS9新特性之适配问题汇总

魔笛GNR
 魔笛GNR
发布于 2016/08/04 10:48
字数 586
阅读 11
收藏 0
iOS

1、Bitcode 应用瘦身

bitcode是把程序编译成的一种中间代码,然后苹果再把这个中间代码编译成可执行的程序。bitcode也允许苹果在后期重新优化我们程序的二进制文件,用于App瘦身计划。

所以用了xcode7的编译器编译之前没问题的项目可能会出现下列报错:

原因是你项目中的某些框架不支持bitcode,如果这个框架不支持bitcode,可以尝试更换支持bitcode的框架,或者将项目bitcode设置为NO:

2、信任应用开发者

在iOS8只是弹出一个窗问你是否需要让手机信任这个应用,但是在iOS9却直接禁止,如果真的想信任需要自己去手动开启。类似于Mac系统从未知开发者处下载的dmg直接打不开,然后要到系统偏好设置的安全性与隐私手动打开。 下图展示左边iOS8,右边iOS9:

 

用户需要去 设置--->通用--->描述文件 ->信任它!

3、字体适配

iOS8中,字体是Helvetica。iOS9中,中文系统字体变为了专为中国设计的稍圆滑的字体。字体有轻微的加粗效果,并且最关键的是字体间隙变大了!所以很多原本写死了标签宽度可能会出现以下情况:

iOS8 -> 

iOS9 -> 

可通过下面这个方法来确定其宽度:

CGSize size = [title sizeWithAttributes:@{NSFontAttributeName: [UIFont systemFontOfSize:17.0f]}];
CGSize adSize = CGSizeMake(ceilf(size.width), ceilf(size.height));

4、URL scheme

它一般用于不同app之间的跳转与交互。在iOS8并没有做过多限制,但是iOS9需要将你要在外部调用的URL scheme列为白名单,才可以完成跳转,如果iOS9没做适配 会报如下错误:

具体的解决方案是在info.plist中设置 LSApplicationQueriesSchemes 类型为数组,下面添加所有你用到的scheme,例如weixin,mqzone:

© 著作权归作者所有

共有 人打赏支持
魔笛GNR
粉丝 7
博文 82
码字总数 43485
作品 0
郑州
iOS工程师
私信 提问
整理iOS9适配中出现的坑(图文)

本文主要是说一些iOS9适配中出现的坑,如果只是要单纯的了解iOS9新特性可以看瞄神的开发者所需要知道的 iOS 9 SDK 新特性。9月17日凌晨,苹果给用户推送了iOS9正式版,随着有用户陆续升级iOS...

Snaiper
2015/09/29
1K
2
iOS 8和iOS 9新特性总结

iOS8的新特性: 1.sizeClass 的推出: 在 iOS 8 中,Apple 的工程师们可以说“极富想象力”地干脆把限制和表征屏幕尺寸的长宽数字给去掉了,取而代之使用 size classes 的概念,将长宽尺寸按...

如若初见
2016/04/24
49
0
老铁,是时候干掉 iOS8 了!

2017.11.23 一. 背景 由于本期产品需求中有一个保存人员信息到通讯录的功能,因为这部分 iOS 8 使用到库已经不维护了,iOS9+ 需要库,因此如果需要继续适配 iOS8 的话,就要写对应的两套代码...

si1ence
10/24
0
0
fir.im Weekly - iOS9 适配开发教程

期待已久的 iOS 9 发布了,很多人更新完毕得出结论:这是值得升级的版本。随之而来的是适应 iOS9 开发技术。本期 Weekly 收集了一些关于 iOS9 相关的开发资源,希望对你有帮助。 iOS9 适配开...

风起云飞fir_im
2015/09/22
87
0
【iOS9】iOS9新特性之Https适配和白名单

引言: 细心地同学发现,在Xcode7以后,新建的项目如果使用Http请求,会报如下错误,大致意思是Http请求是不安全的,需要配置plist文件。 如何使全局支持Http请求呢? 很简单,只需要在Info....

魔笛GNR
2016/08/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周日乱弹 —— 懒床是对冬天最起码的尊重

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @瘟神灬念 :分享daniwellP/桃音モモ的单曲《Nyan Cat》 《Nyan Cat》- daniwellP/桃音モモ 手机党少年们想听歌,请使劲儿戳(这里) @巴拉迪...

小小编辑
42分钟前
8
2
码云项目100,水一发

简单回顾一下: 早期构想最多的,是希望能将PHP一些类和编码分区做得更细,所以很多尝试。但不得不说,PHP的功能过于单一,是的,也许写C/C++扩展,可以解决问题,那我为什么不用C#或者Golan...

曾建凯
今天
3
0
Spring应用学习——AOP

1. AOP 1. AOP:即面向切面编程,采用横向抽取机制,取代了传统的继承体系的重复代码问题,如下图所示,性能监控、日志记录等代码围绕业务逻辑代码,而这部分代码是一个高度重复的代码,也就...

江左煤郎
今天
4
0
eclipse的版本

Eclipse各版本代号一览表 Eclipse的设计思想是:一切皆插件。Eclipse核心很小,其它所有功能都以插件的形式附加于Eclipse核心之上。 Eclipse基本内核包括:图形API(SWT/Jface),Java开发环...

mdoo
今天
3
0
SpringBoot源码:启动过程分析(一)

本文主要分析 SpringBoot 的启动过程。 SpringBoot的版本为:2.1.0 release,最新版本。 一.时序图 还是老套路,先把分析过程的时序图摆出来:时序图-SpringBoot2.10启动分析 二.源码分析 首...

Jacktanger
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部