iOS-自定义Intent及ShortCut,能通过快捷指令唤醒APP并跳转到指定页面

这篇具有很好参考价值的文章主要介绍了iOS-自定义Intent及ShortCut,能通过快捷指令唤醒APP并跳转到指定页面。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.Xcode->New->File->搜索Intent

ios app intente,iOS,ios,学习,objective-c,xcode,前端

2.在新建的intent文件中中New intent

ios app intente,iOS,ios,学习,objective-c,xcode,前端

3.完善资料,内容可自定义

ios app intente,iOS,ios,学习,objective-c,xcode,前端

ios app intente,iOS,ios,学习,objective-c,xcode,前端

ios app intente,iOS,ios,学习,objective-c,xcode,前端

4.创建Extension,file -> new -> target , 选择 Intents Extension 即可

ios app intente,iOS,ios,学习,objective-c,xcode,前端

创建完成后,在intents文件中勾选以下target,否则在扩展里,无法访问到前面创建的Intent类

ios app intente,iOS,ios,学习,objective-c,xcode,前端

编译程序,Xcode 会自动生成对应的类,我这里的话会生成 LaunchAppIntent 类,下面需要使用

ios app intente,iOS,ios,学习,objective-c,xcode,前端

5.完善IntentHandler

引入上述生成的文件,并写入代理,如果之前未勾选target是无法引入的

ios app intente,iOS,ios,学习,objective-c,xcode,前端

在代理中写入,以及点击确认按钮后执行的事件

ios app intente,iOS,ios,学习,objective-c,xcode,前端

- (void)handleLaunchApp:(LaunchAppIntent *)intent completion:(void (^)(LaunchAppIntentResponse * _Nonnull))completion {
    completion([[LaunchAppIntentResponse alloc] initWithCode:LaunchAppIntentResponseCodeContinueInApp userActivity:nil]);
}

- (void)confirmLaunchApp:(LaunchAppIntent *)intent completion:(void (^)(LaunchAppIntentResponse * _Nonnull))completion {
    NSUserActivity *userActivity = [[NSUserActivity alloc] initWithActivityType:NSStringFromClass([LaunchAppIntent class])];
    LaunchAppIntentResponse *response = [[LaunchAppIntentResponse alloc] initWithCode:LaunchAppIntentResponseCodeSuccess userActivity:userActivity];
    completion(response);
}

6.在手机快捷指令中可以进行测试,新增快捷指令,搜索Xcode中设置好的,点击完成

ios app intente,iOS,ios,学习,objective-c,xcode,前端ios app intente,iOS,ios,学习,objective-c,xcode,前端

点击创建好的指令,即能实现唤起APP,也可通过Siri唤醒,名字按照上述自行定义

ios app intente,iOS,ios,学习,objective-c,xcode,前端

7.实现APP自动跳转到制动页面

在AppDelegate中引入你要跳转的界面和intent,唤醒APP会通过一下方法进行执行,设置好快捷指令后将会自动跳转到你设置好的控制器

ios app intente,iOS,ios,学习,objective-c,xcode,前端

- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler {
    if([userActivity.interaction.intent isKindOfClass:[LaunchAppIntent class]]){
        ViewController *vc = [ViewController new];
        UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:vc];
        self.window.rootViewController = nav;
        ViewController2 *secondVC = [[ViewController2 alloc] init];
        [vc.navigationController pushViewController:secondVC animated:YES];
        return YES;
    }
    return NO;
}

8.如果想进行多种操作,可以在此处设置Parameters,在Parameters内新增变量

ios app intente,iOS,ios,学习,objective-c,xcode,前端

demo在这里文章来源地址https://www.toymoban.com/news/detail-819489.html

到了这里,关于iOS-自定义Intent及ShortCut,能通过快捷指令唤醒APP并跳转到指定页面的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android 屏幕唤醒 + 屏幕解锁 + 开机广播android.intent.action.BOOT_COMPLETED

    Android API Level8以上的时候,程序可以安装在SD卡上。如果程序安装在SD卡上,那么在BOOT_COMPLETED广播发送之后,SD卡才会挂载,因此程序无法监听到该广播。 清单文件 目录下添加: android:installLocation=“internalOnly” android:installLocatio n的属性有\\\" auto \\\"、“ internalOnly ”、“ preferE

    2023年04月16日
    浏览(38)
  • iOS APP h5快捷程序 .mobileconfig的生成

    从APP Store 下载Apple Configurator软件 从一个管理点管理所有iOS设备应用程序,文档和配置文件。想要确保您的所有家庭成员在其每台iOS设备上都有类似的应用和文档,管理日益增长的iOS设备库在我家中变得相当麻烦。尽管针对学校和企业,Apple Configurator是一款免费的macOS工具,可

    2024年02月17日
    浏览(38)
  • [uni-app] 防重复点击处理 - 自定义指令

    一般用节流防抖的方式处理, 这里通过vue的自定义指令方式也可以 实现: main.js中使用一下 应用:

    2024年02月05日
    浏览(60)
  • ios 通过xib自定义控件

    通过xib自定义控件   xib和stroyboayd对比 共同点: 都是用来描述软件界面 都是用interface Builder工具来编辑 本质都是转换成代码去创建控件 不同点: xib是轻量级的,用来描述局部ui界面  创建模型文件  XMGCar  自定义控件 xib 图形设计  xib的加载 方法1 (最常用) NSArray *views = [

    2024年02月16日
    浏览(38)
  • iOS Widget Custom Intent 去除邮件警告

    当实现了可编辑小组件功能后,打包上传到app store,收到了苹果发来的邮件。 邮件详情 Hello, We noticed one or more issues with a recent delivery for the following app: • Version 4.0.5 • Build 116 Although delivery was successful, you may want to correct the following issues in your next delivery. Once you’ve corrected the

    2024年04月09日
    浏览(35)
  • APP自定义身份证相机(Android +iOS)

    基本上同时兼容安卓和苹果的插件都需要付费,这里我找了2个好用的免费插件 1.仅支持安卓: 自定义身份证相机(支持蒙版自定义),内置蒙版,照片预览,身份证裁剪 - DCloud 插件市场、 2.支持iOS(已测),支持Android(未测,应该也可以用):   自定义相机 - DCloud 插件市场 第一

    2024年04月28日
    浏览(41)
  • React Native连接Zebra斑马打印机通过发送CPCL指令打印(Android 和 iOS通用)

    自 2015 年发布以来,React Native 已成为用于构建数千个移动应用程序的流行跨平台移动开发框架之一。通常,我们有开发人员询问如何将 Link-OS SDK 与 React Native 应用程序集成,以便在 Zebra 打印机上打印标签。在本教程中,我们将逐步介绍如何将 Link-OS SDK 添加到 Android 和 iOS 版

    2024年02月14日
    浏览(45)
  • uni-app 打包 ios 测试包,通过 testFlight 分发测试

    如果觉得麻烦的,可以使用替代品,使用蒲公英进行测试版本发布,效果是一样的,还没有 testFlight 复杂 1、申请 ios 证书 (私钥证书)和描述文件(证书profile) 申请方式通过uni-app介绍进行申请,地址:https://ask.dcloud.net.cn/article/152 2、申请证书时,请牢记相关的账号密码,以及相

    2023年04月20日
    浏览(45)
  • 前端开发攻略---Vue通过自定义指令实现元素平滑上升的动画效果(可以自定义动画时间、动画效果、动画速度等等)。

    这个指令不是原生自带的,需要手动去书写,但是这辈子只需要编写这一次就好了,后边可以反复利用。 IntersectionObserver 是一个用于监测元素是否进入或离开视口(viewport)的 API。它可以帮助你在页面滚动时或者元素位置改变时进行回调操作,这样你就可以根据元素是否可见

    2024年04月11日
    浏览(49)
  • snowboy 自定义唤醒词 实现语音唤醒【语音助手】

    本系列主要目标初步完成一款智能音箱的基础功能,包括语音唤醒、语音识别(语音转文字)、处理用户请求(比如查天气等,主要通过rasa自己定义意图实现)、语音合成(文字转语音)功能。 语音识别、语音合成采用离线方式实现。 操作系统:Ubuntu 22.04.3 LTS CPU:Intel® Core™

    2024年02月14日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包