{"id":383,"date":"2024-02-21T08:05:22","date_gmt":"2024-02-21T08:05:22","guid":{"rendered":"https:\/\/blog.200oksolutions.com\/?p=383"},"modified":"2025-12-04T07:44:09","modified_gmt":"2025-12-04T07:44:09","slug":"step-by-step-guide-to-define-quick-actions-in-your-ios-app","status":"publish","type":"post","link":"https:\/\/www.200oksolutions.com\/blog\/step-by-step-guide-to-define-quick-actions-in-your-ios-app\/","title":{"rendered":"Step-by-Step Guide to Define Quick Actions in Your iOS App"},"content":{"rendered":"\n<p>In this step of our exploration, we&#8217;ll learn about Quick Actions in iOS, which give users the ability to perform frequent tasks straight from the app icon on the home screen. <\/p>\n\n\n\n<p>We&#8217;ll cover the process of defining and configuring Quick Actions in your App Delegate, which allows you to create and manage these shortcuts and enhance the user experience by providing quick access to important features directly from the home screen. <\/p>\n\n\n\n<p>Be sure to stay tuned for a detailed tutorial on effectively implementing and handling Quick Actions in your iOS app.<\/p>\n\n\n\n<p><strong>Getting Started with App Clips<\/strong><\/p>\n\n\n\n<p><strong>Step 1: Define Quick Actions in your App Delegate<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Open your App Delegate file<\/strong><\/li>\n<\/ol>\n\n\n\n<p>         To open your App Delegate file, start by locating the AppDelegate.swift file. This file serves as the entry point for     handling various app lifecycle events.<\/p>\n\n\n\n<ol class=\"wp-block-list\" start=\"2\">\n<li><strong>Define Quick Actions<\/strong><\/li>\n<\/ol>\n\n\n\n<p>Within the App Delegate file, you can define Quick Actions by locating the application(_:didFinishLaunchingWithOptions:) method.<\/p>\n\n\n\n<p>This method is called when your app finishes launching, and it can be used to define and configure Quick Actions.<\/p>\n\n\n\n<p>The code snippet you provided is part of the AppDelegate class in an iOS app and is typically used to handle quick actions triggered by 3D Touch on the app icon. Let me break down the code for you:<\/p>\n\n\n\n<pre class=\"wp-block-code has-black-color has-gray-background-color has-text-color has-background has-link-color wp-elements-1e49b1a201bae42b4769b3f0aaeb5faf\"><code>if let shortcutItem = launchOptions?&#91;UIApplication.LaunchOptionsKey.shortcutItem] as? UIApplicationShortcutItem {\n    let result = handleQuickAction(shortcutItem)\n    if result {\n     debugPrint(\"result: \\(result)\")\n    }\n}<\/code><\/pre>\n\n\n\n<p><strong>Below code used to defined quick action.<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code has-black-color has-gray-background-color has-text-color has-background has-link-color wp-elements-90deb17817c3b649d21381a1b34ab487\"><code>\/\/ Define Quick Actions\nprivate func setupQuickActions(_ application: UIApplication) {\n\/\/ Create Quick Action items\n  let quickAction1 = UIApplicationShortcutItem(\n    type: \"com.iOSExample.app.Task1\",\n    localizedTitle: \"Quick Action 1\",\n    localizedSubtitle: \"Perform Task 1\",\n    icon: UIApplicationShortcutIcon(type: .compose),\n    userInfo: nil\n)\n\nlet quickAction2 = UIApplicationShortcutItem(\n    type: \"com.iOSExample.app.Task2\",\n    localizedTitle: \"Quick Action 2\",\n    localizedSubtitle: \"Perform Task 2\",\n    icon: UIApplicationShortcutIcon(type: .task),\n    userInfo: nil\n)\n\nlet quickAction3 = UIApplicationShortcutItem(\n    type: \"com.iOSExample.app.Task3\",\n    localizedTitle: \"Quick Action 3\",\n    localizedSubtitle: \"Perform Task 3\",\n    icon: UIApplicationShortcutIcon(type: .play),\n    userInfo: nil\n)\n\/\/ Set the Quick Action items\napplication.shortcutItems = &#91;quickAction1, quickAction2, quickAction3]\n}\n<\/code><\/pre>\n\n\n\n<p>In the <strong>setupQuickActions<\/strong> method, we create instances of <strong>UIApplicationShortcutItem<\/strong> to represent each Quick Action.<\/p>\n\n\n\n<p>These items include a type identifier, localized title and subtitle, an icon, and optional user information. <\/p>\n\n\n\n<p>The <strong>application.shortcutItems<\/strong> property is then set with an array of these Quick Actions.<\/p>\n\n\n\n<p>     <strong>3. Customize Quick Actions<\/strong><\/p>\n\n\n\n<p>Modify the Quick Actions to suit your app&#8217;s specific features. Update the type identifiers, titles, subtitles, icons, and any additional information based on the tasks you want users to perform.<\/p>\n\n\n\n<p>The provided code is an extension to the AppDelegate class in Swift, specifically handling dynamic Quick Actions in an iOS application. Let&#8217;s break down the key elements:<\/p>\n\n\n\n<pre class=\"wp-block-code has-black-color has-gray-background-color has-text-color has-background has-link-color wp-elements-3bbf3fa5ccf8fa17a2433ead501fac66\"><code>extension AppDelegate {\n\/\/ Handle dynamic quick actions\n    func application(_ application: UIApplication,\n        performActionFor shortcutItem: UIApplicationShortcutItem,\n        completionHandler: @escaping (Bool) -&gt; Void) {\n      completionHandler(handleQuickAction(shortcutItem))\n    }\n    \/\/ Handle the quick action based on its type\n    private func handleQuickAction(_ shortcutItem: UIApplicationShortcutItem) -&gt; Bool {\n        var message: String\n\n        switch shortcutItem.type {\n        case \"com.iOSExample.app.Task1\":\n        message = \"Quick Action 1 Perform\"\n        break\n        case \"com.iOSExample.app.Task2\":\n        message = \"Quick Action 2 Perform\"\n        break\n        case \"com.iOSExample.app.Task3\":\n        message = \"Quick Action 3 Perform\"\n        break\n        default:\n        message = \"No Task To Perform\"\n        break\n        }\n\n       let sharedObject = SharedModel(sharedProperty: message)\n        sharedObject.showMessage()\n        return true\n    }\n}<\/code><\/pre>\n\n\n\n<p>Certainly! Here&#8217;s a breakdown of the key elements in the provided code:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The code is an extension to the AppDelegate class in a Swift iOS application.<\/li>\n\n\n\n<li>It handles dynamic Quick Actions, which are shortcuts that allow users to perform specific tasks directly from the app icon on the home screen.<\/li>\n\n\n\n<li>The code is implementing the application(_:performActionFor:completionHandler:) method. This method is called when the app is launched to handle a specific Quick Action.<\/li>\n\n\n\n<li>Inside the method, there is a switch statement that handles different types of Quick Actions, identified by their type.<\/li>\n\n\n\n<li>For each type of Quick Action, there is a corresponding block of code that performs the desired task or navigation within the app.<\/li>\n\n\n\n<li>Finally, there is a completionHandler provided to the method, which should be called when the execution of the Quick Action is complete.<\/li>\n<\/ul>\n\n\n\n<p>The provided code is a Swift struct named SharedModel that encapsulates functionality related to displaying messages using an alert. Let&#8217;s break down the key components:<\/p>\n\n\n\n<pre class=\"wp-block-code has-black-color has-gray-background-color has-text-color has-background has-link-color wp-elements-bcada03d61918de1b62f3dea61f4231d\"><code>import UIKit\n\/\/ SharedModule.swift\npublic struct SharedModel {\n    var sharedProperty: String\n    \/\/ Make the initializer public\n    public init(sharedProperty: String) {\n       self.sharedProperty = sharedProperty\n    }\n\n    public func showMessage(title: String = \"AppClip Message\",\n                completion: (() -> Void)? = nil) {\n        let alertController = UIAlertController(\n        title: title,\n        message: sharedProperty,\n        preferredStyle: .alert\n        )\n\n        let okAction = UIAlertAction(title: \"OK\", style: .default) { _ in\n        \/\/ Call the completion block if provided\n        completion?()\n        }\n\n        alertController.addAction(okAction)\n        \/\/ Access the key window of the application\n        if let keyWindow = UIApplication.shared.keyWindow {\n            keyWindow.rootViewController?.present(alertController,\n            animated: true, completion: nil)\n        }\n    }\n}<\/code><\/pre>\n\n\n\n<p>The <strong>SharedModel <\/strong>struct in Swift encapsulates a message (<strong>sharedProperty<\/strong>). It has a public initializer and a method, <strong>showMessage<\/strong>, which displays an alert with the message content. <\/p>\n\n\n\n<p>The method includes an optional title, defaulting to &#8220;AppClip Message,&#8221; and a completion closure. The alert is presented using the key window&#8217;s root view controller.<\/p>\n\n\n\n<p>Here, you&#8217;ll discover screenshots illustrating how to interact with the app using Quick Actions.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large is-resized\"><img fetchpriority=\"high\" decoding=\"async\" width=\"472\" height=\"1024\" src=\"https:\/\/blog.200oksolutions.com\/wp-content\/uploads\/2024\/02\/Simulator-Screenshot-iPhone-15-Pro-2024-02-14-at-00.13.13-1-472x1024.png\" alt=\"\" class=\"wp-image-391\" style=\"width:289px;height:auto\" srcset=\"https:\/\/www.200oksolutions.com\/blog\/wp-content\/uploads\/2024\/02\/Simulator-Screenshot-iPhone-15-Pro-2024-02-14-at-00.13.13-1-472x1024.png 472w, https:\/\/www.200oksolutions.com\/blog\/wp-content\/uploads\/2024\/02\/Simulator-Screenshot-iPhone-15-Pro-2024-02-14-at-00.13.13-1-138x300.png 138w, https:\/\/www.200oksolutions.com\/blog\/wp-content\/uploads\/2024\/02\/Simulator-Screenshot-iPhone-15-Pro-2024-02-14-at-00.13.13-1-768x1665.png 768w, https:\/\/www.200oksolutions.com\/blog\/wp-content\/uploads\/2024\/02\/Simulator-Screenshot-iPhone-15-Pro-2024-02-14-at-00.13.13-1-709x1536.png 709w, https:\/\/www.200oksolutions.com\/blog\/wp-content\/uploads\/2024\/02\/Simulator-Screenshot-iPhone-15-Pro-2024-02-14-at-00.13.13-1-945x2048.png 945w, https:\/\/www.200oksolutions.com\/blog\/wp-content\/uploads\/2024\/02\/Simulator-Screenshot-iPhone-15-Pro-2024-02-14-at-00.13.13-1.png 1179w\" sizes=\"(max-width: 472px) 100vw, 472px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large is-resized\"><img decoding=\"async\" width=\"472\" height=\"1024\" src=\"https:\/\/blog.200oksolutions.com\/wp-content\/uploads\/2024\/02\/Simulator-Screenshot-iPhone-15-Pro-2024-02-14-at-00.19.53-472x1024.png\" alt=\"\" class=\"wp-image-393\" style=\"width:288px;height:auto\" srcset=\"https:\/\/www.200oksolutions.com\/blog\/wp-content\/uploads\/2024\/02\/Simulator-Screenshot-iPhone-15-Pro-2024-02-14-at-00.19.53-472x1024.png 472w, https:\/\/www.200oksolutions.com\/blog\/wp-content\/uploads\/2024\/02\/Simulator-Screenshot-iPhone-15-Pro-2024-02-14-at-00.19.53-138x300.png 138w, https:\/\/www.200oksolutions.com\/blog\/wp-content\/uploads\/2024\/02\/Simulator-Screenshot-iPhone-15-Pro-2024-02-14-at-00.19.53-768x1665.png 768w, https:\/\/www.200oksolutions.com\/blog\/wp-content\/uploads\/2024\/02\/Simulator-Screenshot-iPhone-15-Pro-2024-02-14-at-00.19.53-709x1536.png 709w, https:\/\/www.200oksolutions.com\/blog\/wp-content\/uploads\/2024\/02\/Simulator-Screenshot-iPhone-15-Pro-2024-02-14-at-00.19.53-945x2048.png 945w, https:\/\/www.200oksolutions.com\/blog\/wp-content\/uploads\/2024\/02\/Simulator-Screenshot-iPhone-15-Pro-2024-02-14-at-00.19.53.png 1179w\" sizes=\"(max-width: 472px) 100vw, 472px\" \/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large is-resized\"><img decoding=\"async\" width=\"472\" height=\"1024\" src=\"https:\/\/blog.200oksolutions.com\/wp-content\/uploads\/2024\/02\/Quick-Action-2-472x1024.png\" alt=\"\" class=\"wp-image-394\" style=\"width:289px;height:auto\" srcset=\"https:\/\/www.200oksolutions.com\/blog\/wp-content\/uploads\/2024\/02\/Quick-Action-2-472x1024.png 472w, https:\/\/www.200oksolutions.com\/blog\/wp-content\/uploads\/2024\/02\/Quick-Action-2-138x300.png 138w, https:\/\/www.200oksolutions.com\/blog\/wp-content\/uploads\/2024\/02\/Quick-Action-2-768x1665.png 768w, https:\/\/www.200oksolutions.com\/blog\/wp-content\/uploads\/2024\/02\/Quick-Action-2-709x1536.png 709w, https:\/\/www.200oksolutions.com\/blog\/wp-content\/uploads\/2024\/02\/Quick-Action-2-945x2048.png 945w, https:\/\/www.200oksolutions.com\/blog\/wp-content\/uploads\/2024\/02\/Quick-Action-2.png 1179w\" sizes=\"(max-width: 472px) 100vw, 472px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"472\" height=\"1024\" src=\"https:\/\/blog.200oksolutions.com\/wp-content\/uploads\/2024\/02\/Quick-Action-3-472x1024.png\" alt=\"\" class=\"wp-image-395\" style=\"width:289px;height:auto\" srcset=\"https:\/\/www.200oksolutions.com\/blog\/wp-content\/uploads\/2024\/02\/Quick-Action-3-472x1024.png 472w, https:\/\/www.200oksolutions.com\/blog\/wp-content\/uploads\/2024\/02\/Quick-Action-3-138x300.png 138w, https:\/\/www.200oksolutions.com\/blog\/wp-content\/uploads\/2024\/02\/Quick-Action-3-768x1665.png 768w, https:\/\/www.200oksolutions.com\/blog\/wp-content\/uploads\/2024\/02\/Quick-Action-3-709x1536.png 709w, https:\/\/www.200oksolutions.com\/blog\/wp-content\/uploads\/2024\/02\/Quick-Action-3-945x2048.png 945w, https:\/\/www.200oksolutions.com\/blog\/wp-content\/uploads\/2024\/02\/Quick-Action-3.png 1179w\" sizes=\"(max-width: 472px) 100vw, 472px\" \/><\/figure>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<p><strong>Conclusion<\/strong><\/p>\n\n\n\n<p>In this first step, we&#8217;ve established the foundation for integrating Quick Actions into your iOS app. These actions offer users direct access to specific features, elevating the overall user experience. Be sure to stay tuned for our upcoming posts in this series on App Clips!<\/p>\n\n\n\n<p>In the next articles, we will delve deeper into other aspects of App Clips, such as handling Quick Action selection, testing on physical devices, and optimizing the user experience. If you have any questions or specific topics, you&#8217;d like us to cover, please don&#8217;t hesitate to reach out.<\/p>\n\n\n\n<p><strong>Happy coding!<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this step of our exploration, we&#8217;ll learn about Quick Actions in iOS, which give users the&hellip;<\/p>\n","protected":false},"author":5,"featured_media":605,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[75,7],"tags":[70,72,71,74],"class_list":["post-383","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ios","category-mobile","tag-app-delegate","tag-implementation","tag-ios-development","tag-quick-actions"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Step-by-Step Guide to Define Quick Actions in Your iOS App Web Development, Software, and App Blog | 200OK Solutions<\/title>\n<meta name=\"description\" content=\"Explore the 200OK Blog \u2013 your go-to source for insights on web development, backend architecture, API design, and tech best practices from industry professionals.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.200oksolutions.com\/blog\/step-by-step-guide-to-define-quick-actions-in-your-ios-app\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Step-by-Step Guide to Define Quick Actions in Your iOS App Web Development, Software, and App Blog | 200OK Solutions\" \/>\n<meta property=\"og:description\" content=\"Explore the 200OK Blog \u2013 your go-to source for insights on web development, backend architecture, API design, and tech best practices from industry professionals.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.200oksolutions.com\/blog\/step-by-step-guide-to-define-quick-actions-in-your-ios-app\/\" \/>\n<meta property=\"og:site_name\" content=\"Web Development, Software, and App Blog | 200OK Solutions\" \/>\n<meta property=\"article:published_time\" content=\"2024-02-21T08:05:22+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-04T07:44:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.200oksolutions.com\/blog\/wp-content\/uploads\/2024\/02\/quick-actions-in-ios-application.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"730\" \/>\n\t<meta property=\"og:image:height\" content=\"423\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Piyush Solanki\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Piyush Solanki\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Step-by-Step Guide to Define Quick Actions in Your iOS App Web Development, Software, and App Blog | 200OK Solutions","description":"Explore the 200OK Blog \u2013 your go-to source for insights on web development, backend architecture, API design, and tech best practices from industry professionals.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.200oksolutions.com\/blog\/step-by-step-guide-to-define-quick-actions-in-your-ios-app\/","og_locale":"en_US","og_type":"article","og_title":"Step-by-Step Guide to Define Quick Actions in Your iOS App Web Development, Software, and App Blog | 200OK Solutions","og_description":"Explore the 200OK Blog \u2013 your go-to source for insights on web development, backend architecture, API design, and tech best practices from industry professionals.","og_url":"https:\/\/www.200oksolutions.com\/blog\/step-by-step-guide-to-define-quick-actions-in-your-ios-app\/","og_site_name":"Web Development, Software, and App Blog | 200OK Solutions","article_published_time":"2024-02-21T08:05:22+00:00","article_modified_time":"2025-12-04T07:44:09+00:00","og_image":[{"width":730,"height":423,"url":"https:\/\/www.200oksolutions.com\/blog\/wp-content\/uploads\/2024\/02\/quick-actions-in-ios-application.webp","type":"image\/webp"}],"author":"Piyush Solanki","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Piyush Solanki","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.200oksolutions.com\/blog\/step-by-step-guide-to-define-quick-actions-in-your-ios-app\/#article","isPartOf":{"@id":"https:\/\/www.200oksolutions.com\/blog\/step-by-step-guide-to-define-quick-actions-in-your-ios-app\/"},"author":{"name":"Piyush Solanki","@id":"https:\/\/www.200oksolutions.com\/blog\/#\/schema\/person\/e07f6b8e3c9a90ce7b3b09427d26155e"},"headline":"Step-by-Step Guide to Define Quick Actions in Your iOS App","datePublished":"2024-02-21T08:05:22+00:00","dateModified":"2025-12-04T07:44:09+00:00","mainEntityOfPage":{"@id":"https:\/\/www.200oksolutions.com\/blog\/step-by-step-guide-to-define-quick-actions-in-your-ios-app\/"},"wordCount":669,"commentCount":0,"publisher":{"@id":"https:\/\/www.200oksolutions.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.200oksolutions.com\/blog\/step-by-step-guide-to-define-quick-actions-in-your-ios-app\/#primaryimage"},"thumbnailUrl":"https:\/\/www.200oksolutions.com\/blog\/wp-content\/uploads\/2024\/02\/quick-actions-in-ios-application.webp","keywords":["App Delegate","Implementation","iOS Development","Quick Actions"],"articleSection":["IOS","Mobile"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.200oksolutions.com\/blog\/step-by-step-guide-to-define-quick-actions-in-your-ios-app\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.200oksolutions.com\/blog\/step-by-step-guide-to-define-quick-actions-in-your-ios-app\/","url":"https:\/\/www.200oksolutions.com\/blog\/step-by-step-guide-to-define-quick-actions-in-your-ios-app\/","name":"Step-by-Step Guide to Define Quick Actions in Your iOS App Web Development, Software, and App Blog | 200OK Solutions","isPartOf":{"@id":"https:\/\/www.200oksolutions.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.200oksolutions.com\/blog\/step-by-step-guide-to-define-quick-actions-in-your-ios-app\/#primaryimage"},"image":{"@id":"https:\/\/www.200oksolutions.com\/blog\/step-by-step-guide-to-define-quick-actions-in-your-ios-app\/#primaryimage"},"thumbnailUrl":"https:\/\/www.200oksolutions.com\/blog\/wp-content\/uploads\/2024\/02\/quick-actions-in-ios-application.webp","datePublished":"2024-02-21T08:05:22+00:00","dateModified":"2025-12-04T07:44:09+00:00","description":"Explore the 200OK Blog \u2013 your go-to source for insights on web development, backend architecture, API design, and tech best practices from industry professionals.","breadcrumb":{"@id":"https:\/\/www.200oksolutions.com\/blog\/step-by-step-guide-to-define-quick-actions-in-your-ios-app\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.200oksolutions.com\/blog\/step-by-step-guide-to-define-quick-actions-in-your-ios-app\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.200oksolutions.com\/blog\/step-by-step-guide-to-define-quick-actions-in-your-ios-app\/#primaryimage","url":"https:\/\/www.200oksolutions.com\/blog\/wp-content\/uploads\/2024\/02\/quick-actions-in-ios-application.webp","contentUrl":"https:\/\/www.200oksolutions.com\/blog\/wp-content\/uploads\/2024\/02\/quick-actions-in-ios-application.webp","width":730,"height":423,"caption":"quick-actions-in-ios-application"},{"@type":"BreadcrumbList","@id":"https:\/\/www.200oksolutions.com\/blog\/step-by-step-guide-to-define-quick-actions-in-your-ios-app\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.200oksolutions.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Step-by-Step Guide to Define Quick Actions in Your iOS App"}]},{"@type":"WebSite","@id":"https:\/\/www.200oksolutions.com\/blog\/#website","url":"https:\/\/www.200oksolutions.com\/blog\/","name":"Web Development, Software, and App Blog | 200OK Solutions","description":"","publisher":{"@id":"https:\/\/www.200oksolutions.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.200oksolutions.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.200oksolutions.com\/blog\/#organization","name":"Web Development Blog | Software Blog | App Blog","url":"https:\/\/www.200oksolutions.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.200oksolutions.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/200oksolutions.com\/blog\/wp-content\/uploads\/2025\/09\/200ok_logo-CGzMrWDu.png","contentUrl":"https:\/\/200oksolutions.com\/blog\/wp-content\/uploads\/2025\/09\/200ok_logo-CGzMrWDu.png","width":500,"height":191,"caption":"Web Development Blog | Software Blog | App Blog"},"image":{"@id":"https:\/\/www.200oksolutions.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.instagram.com\/200ok_solutions\/"]},{"@type":"Person","@id":"https:\/\/www.200oksolutions.com\/blog\/#\/schema\/person\/e07f6b8e3c9a90ce7b3b09427d26155e","name":"Piyush Solanki","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.200oksolutions.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/962a2b0b4db856e6851ec7d838597a0395adcaae9c0091d223de9942a4254461?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/962a2b0b4db856e6851ec7d838597a0395adcaae9c0091d223de9942a4254461?s=96&d=mm&r=g","caption":"Piyush Solanki"},"description":"Piyush is a seasoned PHP Tech Lead with 10+ years of experience architecting and delivering scalable web and mobile backend solutions for global brands and fast-growing SMEs. He specializes in PHP, MySQL, CodeIgniter, WordPress, and custom API development, helping businesses modernize legacy systems and launch secure, high-performance digital products. He collaborates closely with mobile teams building Android &amp; iOS apps , developing RESTful APIs, cloud integrations, and secure payment systems using platforms like Stripe, AWS S3, and OTP\/SMS gateways. His work extends across CMS customization, microservices-ready backend architectures, and smooth product deployments across Linux and cloud-based environments. Piyush also has a strong understanding of modern front-end technologies such as React and TypeScript, enabling him to contribute to full-stack development workflows and advanced admin panels. With a successful delivery track record in the UK market and experience building digital products for sectors like finance, hospitality, retail, consulting, and food services, Piyush is passionate about helping SMEs scale technology teams, improve operational efficiency, and accelerate innovation through backend excellence and digital tools.","url":"https:\/\/www.200oksolutions.com\/blog\/author\/piyush\/"}]}},"_links":{"self":[{"href":"https:\/\/www.200oksolutions.com\/blog\/wp-json\/wp\/v2\/posts\/383","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.200oksolutions.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.200oksolutions.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.200oksolutions.com\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.200oksolutions.com\/blog\/wp-json\/wp\/v2\/comments?post=383"}],"version-history":[{"count":9,"href":"https:\/\/www.200oksolutions.com\/blog\/wp-json\/wp\/v2\/posts\/383\/revisions"}],"predecessor-version":[{"id":400,"href":"https:\/\/www.200oksolutions.com\/blog\/wp-json\/wp\/v2\/posts\/383\/revisions\/400"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.200oksolutions.com\/blog\/wp-json\/wp\/v2\/media\/605"}],"wp:attachment":[{"href":"https:\/\/www.200oksolutions.com\/blog\/wp-json\/wp\/v2\/media?parent=383"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.200oksolutions.com\/blog\/wp-json\/wp\/v2\/categories?post=383"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.200oksolutions.com\/blog\/wp-json\/wp\/v2\/tags?post=383"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}