iOS9系列专题6——iOS9其他适配注意点(二)

简介: iOS9系列专题6——iOS9其他适配注意点

四、URL Scheme白名单


       在iOS9中,apple引入了白名单这个概念,其好处是对app应用内安全进行了加强。在iOS9的适配中,如果我们用到canOpenURL这样的方法,则需要配置白名单。


首先,我们创建一个测试工程,什么都不用做,只需要添加一个URL Scheme:


image.png


在另一个工程中,我们写如下代码:


BOOL can= [[UIApplication sharedApplication]canOpenURL:[NSURL URLWithString:@"TEST://"]];

   NSLog(@"%d",can);

   [[UIApplication sharedApplication]openURL:[NSURL URLWithString:@"TEST://"]];


在没有配置白名单之前,打印如下:

image.png



可以看到,bool值返回的是NO。虽然这样也可以跳转相应的APP,但是canOpenURL这个方法相当于失效了,我们不能用它来判断用户到底装没装这个app。


适配时,我们在plist文件中添加如下键值:


image.png


这时再次运行程序,canOpenURL的判断就会准确了。


注意:白名单添加上限为50个。


五、label默认字体不同产生的BUG


       iOS9的另一变化是label的默认字体产生了变化,我们打印iOS9中label的字体如下:


image.png


iOS8中的label默认字体如下:


image.png


这两种字体的最大差异是字间距不同,例如如下一段代码:


   UILabel * label = [[UILabel alloc]init];

   label.frame=CGRectMake(100, 100, 100, 30);

   [self.view addSubview:label];

   label.backgroundColor= [UIColor redColor];

   label.text=@"1111111111111";


这段代码在iOS9上是刚好可以正常显示的,在iOS8上则不行,如下:


iOS9:

image.png



iOS8:

image.png



适配注意点:


1、可以通过动态计算来获取label的宽度,进行设置label的宽度


2、一个更简单的方法是通过设置一个确定的字体,来进行适配


 

目录
相关文章
|
5月前
|
小程序 开发工具 Android开发
Donut多端框架小程序打包适配ios和安卓app
腾讯新出了一个 Donut 多端框架,可以直接将微信小程序转成 ios 和 安卓 app,小程序开发者工具里也集成了 app 相关升级、调试和打包的功能,终于可以一套代码开发出3个客户端了!
124 0
Donut多端框架小程序打包适配ios和安卓app
|
7月前
|
小程序 iOS开发
uniapp中IOS端小程序底部黑线适配的方法(整理)
uniapp中IOS端小程序底部黑线适配的方法(整理)
|
9月前
|
开发工具 iOS开发 开发者
iOS 暗黑模式的适配总结
iOS 暗黑模式的适配总结
|
iOS开发 Perl
iOS 屏幕比例适配
iOS 屏幕比例适配
|
iOS开发
iOS - 用Masonry封装的slider,完全支持Masonry的适配
iOS - 用Masonry封装的slider,完全支持Masonry的适配
99 0
|
安全 iOS开发
iOS小技能:下拉刷新控件的适配
1. 下拉顶部背景色设置: 往tableView的父控件添加拉伸背景视图 2. present 半屏适配 iOS13 modalPresentationStyle属性默认不是全屏样式`UIModalPresentationFullScreen`,而是半屏样式,需要根据需求手动设置。 present 半屏,会导致列表下拉刷新失效。
159 0
iOS小技能:下拉刷新控件的适配
|
Web App开发 移动开发 前端开发
HTML5 移动端页面适配 iOS 系统刘海屏
HTML5 移动端页面适配 iOS 系统刘海屏
1069 0
HTML5 移动端页面适配 iOS 系统刘海屏
|
JavaScript 前端开发 Android开发
iOS 自动适配的 WebView 封装 (下)
iOS 自动适配的 WebView 封装 (下)
153 0
iOS 自动适配的 WebView 封装 (下)
|
缓存 JavaScript 前端开发
iOS 自动适配的 WebView 封装 (上)
iOS 自动适配的 WebView 封装 (上)
740 0
iOS 自动适配的 WebView 封装 (上)
|
存储 编解码 API
iPhone X + iOS 11 适配指南(下)
iPhone X + iOS 11 适配指南(下)
304 0
iPhone X + iOS 11 适配指南(下)