内容简介:前言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矿池接入协议指南
- 谈谈业务容器化 ———— 降低接入成本
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Algorithms Unlocked
Thomas H. Cormen / The MIT Press / 2013-3-1 / USD 25.00
Have you ever wondered how your GPS can find the fastest way to your destination, selecting one route from seemingly countless possibilities in mere seconds? How your credit card account number is pro......一起来看看 《Algorithms Unlocked》 这本书的介绍吧!