当前位置: 首页 > news >正文

张店网站优化推广网站建设实训结论与分析总结

张店网站优化推广,网站建设实训结论与分析总结,自己画户型图的app,铜梁网站建设本文介绍使用Xcode15 建立快捷指令的Extension#xff0c;并描述如何修改快捷指令的IntentHandler#xff0c;带参数跳转主应用#xff1b;以及展示多个选项的快捷指令弹框(配置intentdefinition文件)#xff0c;点击选项带参数跳到主应用的方法 创建快捷指令 快捷指令是…本文介绍使用Xcode15 建立快捷指令的Extension并描述如何修改快捷指令的IntentHandler带参数跳转主应用以及展示多个选项的快捷指令弹框(配置intentdefinition文件)点击选项带参数跳到主应用的方法 创建快捷指令 快捷指令是一个项目的extension所以先要有一个ios项目 新建扩展 搜索Intent字段点击下图选中的 左边箭头勾中就会额外自动给快捷指令UI扩展 右边箭头选None 另一个选项是Messaging选中会使得 自动创建message发送功能的相关代码 选中根目录新建文件 新建文件类型中搜索Intent新建唯一搜索结果类型文件 新建文件的target membership需要全部都勾选 在这个新建文件里面定义快捷指令支持的动作Action点击加号点击new intent 新建的Intent按照需要重命名双击名字重命名 还有标题描述修改 配置Intent展示的属性 确认主应用和扩展的info.plist文件有配置Intent没有的话加上build一下 build你的项目xcode会根据添加的Intent生成对应的如下后缀的代码Handle类、 intent类、 Handling协议、Response类。 快捷指令逻辑 修改默认生成的IntentHandler如下划线和框住的都是添加代码其中response的属性show_name为上面配的属性。 这里的continueInApp枚举表示快捷指令是打开主应用 主应用获取快捷指令传参 下面是主应用被快捷指令打开在SceneDelegate获取传过来的参数 func scene(_ scene: UIScene, continue userActivity: NSUserActivity) {if userActivity.activityType NSStringFromClass(MyIntentIntent.self) {var msg: String?if let response userActivity.interaction?.intentResponse as? MyIntentIntentResponse {msg response.show_name}let alert UIAlertController(title: 提示, message: 从快捷指令传递的消息\(msg ?? ), preferredStyle: .alert)alert.addAction(UIAlertAction(title: 确定, style: .default, handler: nil))// 显示弹框self.window?.rootViewController?.present(alert, animated: true, completion: nil)}}展示多项的快捷指令弹窗 这个弹窗在快捷指令中心 点击快捷指令后弹出点击里面的项可以带着参数跳到主应用 在 Intents.intentdefinition文件中 新建一个类型Topping(名字随便) response里面加上这个刚才定义类型的一个参数toping intent里面也加一个参数 myParamter 需要注意的是快捷指令弹窗标题是这里配置 build你的项目。会生成对应类还有属性 出现ToppingResolutionResult类 MyIntentIntentResponse类中会多出属性toping MyIntentIntent类会多出属性myParamter 下面是IntentHandler适配修改 class IntentHandler: INExtension, MyIntentIntentHandling {func resolveMyParamter(for intent: MyIntentIntent, with completion: escaping (ToppingResolutionResult) - Void) {guard let myParamter intent.myParamter else {completion(ToppingResolutionResult.disambiguation(with: DataManager.allTops()))return}completion(ToppingResolutionResult.success(with: myParamter))}func provideMyParamterOptionsCollection(for intent: MyIntentIntent, searchTerm: String?, with completion: escaping (INObjectCollectionTopping?, Error?) - Void) {completion(INObjectCollection(items: DataManager.allTops()), nil)}func handle(intent: MyIntentIntent, completion: escaping (MyIntentIntentResponse) - Void) {let userActivity NSUserActivity(activityType: NSStringFromClass(MyIntentIntent.self))let response MyIntentIntentResponse(code:.continueInApp,userActivity: userActivity)response.toping intent.myParamtercompletion(response)}func confirm(intent: MyIntentIntent, completion: escaping (MyIntentIntentResponse) - Void) {let response MyIntentIntentResponse(code:.ready,userActivity: nil)completion(response)}override func handler(for intent: INIntent) - Any {// This is the default implementation. If you want different objects to handle different intents,// you can override this and return the handler you want for that particular intent.return self}}数据获取类DataManager class DataManager : NSObject {static func allTops()- [Topping] {var tops:[Topping] []for i in 0..3{let top Topping(identifier: \(i), display: 啦啦啦\(i))tops.append(top)}return tops} } 同样在主应用中可以获取传过来的response里的Toping对象依次来获得传参 func scene(_ scene: UIScene, continue userActivity: NSUserActivity) {if userActivity.activityType NSStringFromClass(MyIntentIntent.self) {var msg: String?if let response userActivity.interaction?.intentResponse as? MyIntentIntentResponse { // msg response.show_namemsg response.toping?.displayString ?? }let alert UIAlertController(title: 提示, message: 从快捷指令传递的消息\(msg ?? ), preferredStyle: .alert)alert.addAction(UIAlertAction(title: 确定, style: .default, handler: nil))// 显示弹框self.window?.rootViewController?.present(alert, animated: true, completion: nil)}}参考文档 官方文档,官方demo也可从此下载 https://developer.apple.com/documentation/sirikit/soup_chef_accelerating_app_interactions_with_shortcuts
http://www.hkea.cn/news/14388834/

相关文章:

  • 南城区网站建设公司浙江省建筑考证服务平台
  • 网站建设公司济南ysl网站设计论文
  • 移动端网站开发项目邮箱域名是什么
  • 用php如何建设网站好看的网站颜色
  • 萍乡企业网站建设个人备案网站经营
  • 如何迅速k掉网站头条网站开发
  • 2017免费网站空间做商品网站的教学视频
  • 设计网站开发新网页游戏网游
  • 创建个人网站教案一级做ae视频直播可以吗多少钱
  • 网站建设的目的与意义是什么轻松筹 做的网站价格
  • 什么是网站抄袭健身网站设计模板下载
  • 将网站源码下载下来如何使用影响关键词优化的因素
  • 宁波网站建设多少钱php 怎么做 网站吗
  • 贵州省交通工程建设质监局网站网站空间怎么查询
  • 网站制作一年多少钱南昌网站设计哪家专业好
  • 小企业公司网站建设淘宝详情页设计模板
  • 50强网站建设公司企业网站的常见服务
  • 南京市高淳区城乡建设局网站南宁网站建公司
  • 网站备案服务商zhihe网站建设 淘宝
  • 做网站的组要具备哪些素质建英文网站
  • 国外服装购物网站大全平台推广是做什么
  • 如何做网站模版二级域名免费注册网站
  • 网站建设法规政策semi
  • 网站开发合同 下载保定软件开发公司
  • 诸暨网站建设书生商友ui设计师面试必问问题
  • python nginx做网站淘宝商城的网站建设
  • 网站推广好难策划的网站
  • 怎么做网站界面分析建设网站终身免费
  • 做网站去哪里找客户wordpress设置文章页
  • 手机网站 跳转个人页网址