iOS9新特性

iOS9系列专题一——3D Touch

拜拜、爱过 提交于 2019-12-02 00:44:40
新的触摸体验——iOS9的3D Touch 一、引言 在iphone6s问世之后,很多果粉都争先要体验3D Touch给用户带来的额外维度上的交互,这个设计之所以叫做3D Touch,其原理上是增加了一个压力的感触,通过区分轻按和重按来进行不同的用户交互。 二、在模拟器上学习和测试3D Touch 3D Touch是一个很新颖的设计,可是苹果文档有言: With Xcode 7.0 you must develop on a device that supports 3D Touch. Simulator in Xcode 7.0 does not support 3D Touch. 看到这句话心是不是凉了一半,是的,xcode7是支持3D Touch开发的,可是模拟器并不支持这个手势,我们只能在真机上进行学习与测试,但是在IT的世界,从来都不缺拯救世界的人物,github上有人为我们提供了这样的一个插件,可以让我们在模拟器上进行3D Touch的效果测试: git地址: https://github.com/DeskConnect/SBShortcutMenuSimulator 。 附.SBShortcutMenuSimulator的安装和使用 其实安装和使用并不需要怎么介绍,git主页里介绍的很清楚,这里在记录一遍,其中只有一点需要注意,如果你像我一样

iOS9系列专题二——全新的搜索功能api

半城伤御伤魂 提交于 2019-12-02 00:44:11
更加智能的搜索方案——iOS9搜索功能新api 一、引言 iOS9中为我们提供了许多新的api,搜索功能的加强无疑是其中比较显眼的一个。首先,我们先设想一下:如果在你的app中定义一种标识符,在siri和搜索中,可以用过这个标识符搜索到你的app,是不是很棒?不,这还差得远,你可以定义任意的数据,使其在搜索和siri中可以快速检索到,这样的搜索功能是不是非常酷?不,还有更cool的,你甚至可以在你的网站中添加一些标志,使apple的爬虫可以检索到,那样,即使用户没有安装你的app,也可以在搜索中获取到相应的信息,这太强大了,对吧。 二、3种全新的搜索模式 ‍1、NSUserActivity‍ 我们可以在项目中使用相应的函数来添加一些用户的活跃元素,使我们可以在搜索中通过搜索这样的活跃元素展现我们的app。例如: //创建一个对象,这里的type用于区分搜索的类型 NSUserActivity *userActivity = [[NSUserActivity alloc] initWithActivityType: @"myapp"]; //显示的标题 userActivity.title = @"我的app"; // 搜索的关键字 userActivity.keywords = [NSSet setWithArray: @[@"sea",@"rch"]]; // 支持Search

iOS9系列专题三——应用瘦身

≡放荡痞女 提交于 2019-11-30 20:47:39
更小,更快——iOS9的App Thinning apple在iOS9中引入了一套新的app瘦身方案,通过一些优化策略,将尽可能的减小app安装包的体积。这部分的大多工作是由app store来完成,开发者并不需要付出太多额外的开销。这篇博客将这部分内容做了简单的介绍,详细信息在 App Thinning 。 App的瘦身策略主要包括三部分: 一、slicing 这部分的主要原理是不同的设备下载安装不同的app包,各个app包副本中包含相应尺寸的素材。在xcode中,使用asset catalog管理素材文件,在我们提交应用市场后,会自动帮我们生成各个尺寸包得app副本。 二、BitCode 字节码文件是app程序的一种中间形式,苹果会对包含字节码的app进行二次的优化,来进行相应的瘦身。 三、 On-Demand Resources 这是一种多级应用的设计思路,例如一个游戏,开发者可以将其分为一个大小各异的资源包,用户只需下载一个小的引导程序,在程序内加载相应资源包。这样,可以大大加快应用的安装速度。 专注技术,热爱生活,交流技术,也做朋友。 ——珲少 QQ群:203317592 来源: oschina 链接: https://my.oschina.net/u/2340880/blog/511704

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

血红的双手。 提交于 2019-11-29 16:50:11
iOS9适配注意点 一、后台定位类app适配点 在iOS8中,APP的定位服务apple就做了一些修改,需要用户申请相应的权限,并在info.plist文件中添加对应的键值。具体的做法在这篇博客中有详细的讲解: http://my.oschina.net/u/2340880/blog/414760 。 在iOS9系统中,定位服务的做法基本没有改变,对于前台的定位没有影响,但app中如果需要后台定位,那么还需要多做一些操作,例如: manager = [[CLLocationManager alloc]init]; //申请后台定位权限 [manager requestAlwaysAuthorization]; manager.delegate=self; //======================================= //下面这个是iOS9中新增的方法 开启后台定位 manager.allowsBackgroundLocationUpdates = YES; //====================================== [manager startUpdatingLocation]; 通过上面简单的配置直接运行的话,程序会崩溃掉,还需要在plist文件中做一些配置,两种方式: 方式一:直接在plist文件中配置如下: 方式二:在项目中设置