内容简介:前言Xcode 10已经正式发布,开发者可以接入Siri Shortcuts的iOS 12新特性。WWDC2018的Introduction to Siri Shortcuts Session介绍了Siri Shortcuts的使用和Swift接入,但没有Objective-C版本的demo。
前言
Xcode 10已经正式发布,开发者可以接入Siri Shortcuts的iOS 12新特性。
WWDC2018的Introduction to Siri Shortcuts Session介绍了Siri Shortcuts的使用和Swift接入,但没有Objective-C版本的demo。
于是新开此文,介绍如何快速用OC接入iOS 12新特性Siri Shortcuts。
正文
快速接入Siri Shortcuts
Siri Shortcuts的API有两大类:NSUserActivity和Intents。
使用NSUserActivity接入Siri Shortcuts简单高效,只需十分钟。
1、plist添加activity type(Define Shortcut)
注意是array的类型,每个元素是一个字符串,这里定义的是loying.LearnSiriShortcut.type;
<key> NSUserActivityTypes </key> <array> <string> loying.LearnSiriShortcut.type </string> </array>
2、配置NSUserActivity并通知Siri(Donate Shortcut)
-initWithActivityType接口的type参数要和plist一致;
eligibleForPrediction是iOS 12新增API,如需支持老版本要添加 @available(iOS 12.0, *)的判断;
userActivity的userInfo属性是透传的参数值;
最后把userActivity赋值给viewController的userActivity属性;
- (void)reportSiriShortcuts { NSUserActivity *userActivity = [[NSUserActivity alloc] initWithActivityType:@"loying.LearnSiriShortcut.type"]; userActivity.eligibleForSearch = YES; if (@available(iOS 12.0, *)) // 如果要支持老版本,加上判断 { userActivity.eligibleForPrediction = YES; } userActivity.title = @"测试标题"; userActivity.userInfo = @{@"testKey" : @"testValue"}; self.userActivity = userActivity; }
3、在AppDelegate中处理Siri打开APP请求 (Handle Shortcut)
通过userActivity的type值判断是否为Siri Shortcuts呼起,做相应的逻辑处理。
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray <id> <uiuseractivityrestoring> > * _Nullable))restorationHandler { NSLog(@"continueUserActivity"); if ([userActivity.activityType isEqualToString:@"loying.LearnSiriShortcut.type"]) { // 做自己的业务逻辑 } return YES; } </uiuseractivityrestoring> </id>
至此接入Siri Shortcuts完毕,仅需三步!
下面根据WWDC的视频详细介绍Siri Shortcuts的新特性。
Siri Shortcuts的特性解析
Siri Shortcuts提供的能力有两个:
-
1、Suggestion(建议)
用户重复、固定的行为,通过不断的告知siri,siri会在确定用户习惯后,会发本地推送提醒用户;
比如说某个用户习惯每天晚上11点的时候用微信读书进行阅读,如果微信读书把用户每次的行为发送给Siri,那么Siri在学习到用户的习惯之后,会在适当时候通过本地推送提示用户,推送的截图如下:
-
-
2、Shortcuts(短语快捷方式)
把APP的常用操作行为与短语挂钩,通过设置好的短语可以快捷使用APP的功能;
WWDC以点外卖为例,通过设置好的短语coffee time,可以呼起APP,也可以直接在Siri界面进行下单操作;
coffee time
以上的功能都需要特定的使用场景:
1、App的关键功能;
2、用户有重复性的行为;
3、随时都可以执行;
不满足以上三个要求的功能,苹果不推荐使用Siri Shortcuts。
Siri Shortcuts的使用
iOS 12的开发者选项增加了Display Recent Shortcuts,打开之后可以显示最近发送给Siri的Shortcuts;
如下,向Siri发送了名为“测试标题”的Shortcuts;
在添加Siri Shortcuts之后,本地搜索时能找到对应的Shortcuts,点击之后会执行定义好的Shortcuts操作;
在APP添加Shortcuts之后,可以在系统设置中录制Siri Shortcuts的快捷短语:
录制短语之后,可以通过Siri快速呼起APP对应的功能:
注意事项
1、Siri语言版本可以设置成中文/英文,需要与短语的语言类型一致;
2、检查项目中是否已存在接口- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray
附录
招聘启事
北京招聘Vulkan图形开发工程师
受人所托,现帮忙发一则Vulkan图形开发工程师招聘消息。
要求:熟练掌握OpenGL ES、Vulkan等图形库的使用,最好有丰富的图形工程实践经验。
工作地点:北京
有意向熊皮皮联系,微信见原文
作者:落影loyinglin
链接:https://www.jianshu.com/p/edda18023a7b
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 云转码接入视频网站解决方案 express-ffmpeg接入discuz方案
- 数据接入治理平台
- 【Netty】如何接入新连接
- 有赞统一接入层架构演进
- Bytom矿池接入协议指南
- 谈谈业务容器化 ———— 降低接入成本
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Invisible Users
Jenna Burrell / The MIT Press / 2012-5-4 / USD 36.00
The urban youth frequenting the Internet cafes of Accra, Ghana, who are decidedly not members of their country's elite, use the Internet largely as a way to orchestrate encounters across distance and ......一起来看看 《Invisible Users》 这本书的介绍吧!
JSON 在线解析
在线 JSON 格式化工具
html转js在线工具
html转js在线工具