WWDC2018观看笔记二:iOS12 新特性(WWDC2018)

网上搜了很多相关的文章,都是简述,不符合自己的要求;更气人的是花了9.9元,看了某人的一篇不疼不痒的WWDC2018新特性。所以最后下定决心看了个人觉得对开发者有帮助的三个session,以及一些开发者需要关注的改动。

原文地址

iOS12新特性

    1、性能提升

(1)iOS12系统中速度提升

        应用启动速度提升40%

        键盘响应速度提升50%

        相机启动速度提升70%

iOS12 和 iOS11 的真机性能对比视频:https://v.qq.com/x/page/o0681ydcndr.html

(2)High Performance Auto Layout

在iOS12中对自动布局进行了很大的优化,如图1.1,是官方测试后得到的 iOS 12 和 iOS 11 在特定场景下时间开销的对比图。可以明显的看到 iOS 12 具有很大的优势。同时,ken Ferry演讲的session中有很多干货WWDC2018观看笔记:Auto Layout

图1.1 iOS11和iOS12下Auto Layout性能对比图  

 2、功能迭代

(1)UIWebView弃用

在iOS12 中,UIWebView不在被使用,如图2.1所示。

图2.1 iOS12.0 UIWebView.h文件图

为什么

原因就是:iOS平台跨域访问漏洞,而造成平台跨域访问漏洞的罪魁祸首就是 UIWebView。

(2)C++ 标准库libstdc++相关的3个库(libstdc++、libstdc++.6、libstdc++6.0.9 )废弃

使用libc++代替

为什么?

苹果的解释是libstdc++已经标记为废弃有5年了,建议大家使用经过了llvm优化过并且全面支持C++11的libc++库。

(3)userNotifications

在iOS12中通知提供了以下五方面的新特性:

        Grouped notifications :推送分组

         Notification content extensions: 推送内容扩展中的可交互和动态更改Action

        Notification management :推送消息的管理

        Provisional authorization: 临时授权

        Critical alerts :重要提醒

1).Grouped notifications

在iOS12中, 通知分组使用两种分组方式:自动分组(Automatic grouping)和线程标识(Thread identifier).

自动分组不需要做额外的操作,系统会根据App的bundle id对推送进行分组。如果需要对通知做更细致的分组就需要用线程标识, 也就是下面的threadIdentifier.

如图2.2所示:

图2.2 Grouped notifications 结构图

代码和实现效果,如图2.3所示:

 

图2.3 通知分组demo实现效果图

同时,在iOS12系统的手机中,可通过 setting -应用 - Notifications - Notification Grouping来设置通知的分组模式。如图2.3所示

注意:只有设为 Automatic时,设置Thread identifier属性才有效。

 同时,iOS12 支持Summary 定制。

当苹果自动将推送消息的归拢到一起的时候,最下边会有一个消息摘要。默认格式是:n more notifications from xxx。如图2.4所示

图2.4 Summary(模拟器为例)

修改方式: 设置categorySummaryFormat, 会显示summaryFormat, 使用带categorySummaryFormat的init方法,如图2.5所示:

图2.5 summaryFormat实现summary定制

数字定制

有时会出现另一个场景:比如发送了2条推送消息,一条是“你有3个邀请函”,另一条是“你有5个邀请函”。那摘要则会显示你有2更多消息,我们想要的肯定是"你有8个邀请函"。那这种效果怎么显示呢?(summaryArgumentCount)

2).推送内容扩展中的可交互和动态更改Action

配置Notification Content Extention的UUNNotificationExtensionUserInteractionEnabled为YES。

通过File-New-Target中的 Notification Content Extension 来创建NotificationViewController。

3).增加了推送消息的管理

展现管理界面:通知消息左滑 或者 进入详情中右上角的,管理界面如图2.7所示:

Deliver Quietly 控制会不会播放声音;Turn Off 关闭推送;

图2.7 通知管理界面

4).临时授权(Provisional Authorization

通知会出现在通知中心并在应用图标上出现标记,但不会显示在锁定屏幕上,不会显示横幅,也不会播放声音,之后可以选择正常推送还是关闭,在申请权限的时候,加上provisional即可

5).重要提醒Critical Alerts

无视勿扰模式和铃声开关的限制,收到这类通知时会伴随一个系统或App设定的提示音 需要获得授权。在申请权限的时候,加上criticalAlert。

(4) shortcuts

iOS12 提供了语音助手的快捷短语的开发,可以通过自定义一个短语,通过Siri来唤起特定的功能。

Shortcuts APIS

 

1)NSUserActivity的使用

首先,在Info.plist中声明NSUserActivityTypes

然后,生成对应的NSUserActivity

最后,用户点击shortCut 的 处理入口

2)自定义Intents

通过Intent实现的shortcut是不启动APP不通过交互行为即可以直接运行的功能,并且可以对运行的结果给出响应反馈。在工程中新建一个SiriKit Intent Definition File,点击‘+’新建一个自定义的Intent,然后添加参数。之后在Shortcut Type中添加需要用的参数,并且定义在shortcut中的显示内容

编辑器会通过这个文件自动生成对应的INIntent

处理入口和NSUserActivity相同。

参考视频和文档:

https://developer.apple.com/videos/play/wwdc2018/220/

https://developer.apple.com/videos/play/wwdc2018/710/

https://developer.apple.com/videos/play/wwdc2018/211/


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值