Developing a Great App Clip with iOS 14 – Article I

Urmit Chauhan
5 min readOct 18, 2020

--

Availability: iOS 14.0+

Create an app clip to make some of your app’s functionality available to users who don’t have the full app installed.

An app clip is a lightweight version of your app that offers users some of its functionality when and where they need it. Consider a coffee-shop app that users download from the App Store: it allows users to order a drink on their device, save favorite drinks, collect rewards, get special offers, and so on.

It’s a two-part article, our first session is an overview of AppClip. we have covered, app clip launches, User Experience, Available Frameworks, User Privacy. In second part we have to create one app clip on available public demo and also discuss with SwiftUI and Storyboard.

Apple Inc
AppClip (i) Download from apple

Article I

Developing a Great App Clip

Identify technology and other factors to help users quickly launch and use your app clip to complete a task.

Overview

An app clip is a lightweight version of your app that offers some of its functionality where and when users need it. In your Xcode project, your app clip is an additional target that shares code and assets with your app’s target. Your app clip also has access to the same frameworks that are available to the full app. For example, your app clip can request access to the camera, store sensitive data in the local keychain, connect to Bluetooth devices, and so on.

However, app clips come with limitations to protect user privacy and preserve resources. Review the technology that’s available to app clips before you identify which of your app’s functionality would make a great app clip.

Note: Your full app can have only one app clip, and it must support all of the app clip’s functionality.

Understand How Users Launch App Clips

Users launch app clips by performing one of the following invocations:

  • Scanning an NFC tag or visual code at a physical location
  • Tapping a location-based suggestion from Siri Suggestions
  • Tapping a link in the Maps app
  • Tapping a Smart App Banner on a website
  • Tapping a link that someone shared in the Messages app (as a text message only)
Article I(i) Download from apple

When a user invokes an app clip, the system first validates the app clip’s metadata and its associated invocation URL. It then uses the URL to determine which metadata it displays on the app clip card, a sheet it presents upon invocation. The app clip card provides additional information and presents a button that the user taps to launch the app clip.

When the user launches the app clip, the system passes the URL to it. Upon launch, the app clip accesses the URL and parses it to extract information, and then uses the information to update its user interface.

Provide a Great User Experience

App clips don’t appear on the home screen, and users don’t manage them the way they manage full apps. Instead, the system removes an app clip from a device after a period of inactivity. Therefore, it’s important for your app clip to offer a polished user experience.

App clips avoid complicated interface elements like tab bars or complex forms, to provide a linear, focused user experience. Where app clips require people to perform a more complex task, they make use of technology that reduces complexity. For example, app clips may offer Apple Pay to pay for services and goods or make use of Sign in with Apple to avoid a complex sign-up form.

For design guidance, see Human Interface Guidelines.

Keep Your App Clip Small

App clips must be small — no more than 10 MB — to provide an instantaneous launch. If possible, keep your app clip well below this limit. For more information, see the second part Creating an App Clip with iOS 14.

Review Available Frameworks

App clips make use of SwiftUI and UIKit and have access to the same frameworks as your full app. However, the following frameworks aren’t available to app clips: CallKit, CareKit, CloudKit, HealthKit, HomeKit, ResearchKit, SensorKit, and Speech.

Using any of these frameworks in an app clip doesn’t result in compile-time errors, but their APIs return values that indicate unavailability, empty data, or error codes at runtime. For example, HealthKit’s isHealthDataAvailable() returns false when you call it from an app clip.

Preserve User Privacy

App clips come with limitations that ensure user privacy and prevent user tracking across apps and app clips, for example:

In addition, app clips can’t access:

  • Apple Music and Media
  • Data from apps like Contacts, Files, Messages, Reminders, and Photos
  • Motion and fitness data

Reserve Certain Functionality for Your Full App

To preserve resources and help ensure user privacy, app clips can’t perform background activity. For example, app clip’s can’t make use of the following:

App clips provide an in-the-moment experience and focus on offering the quickest possible solution to an everyday task, so some functionality will work best in your full app. Reserve the following functionality for the full app:

  • Advanced networking features like Bonjour. However, app clips may configure Wi-Fi networks using the Hotspot Configuration Entitlement.
  • App extensions
  • Customization and settings; for example, creation of a settings bundle
  • Data handoff and document opening
  • In-app purchases and in-app provisioning of payment cards
  • Low-level Unix functionality; for example, BSD notifications
  • Multiple scenes on iPad
  • On-demand resources
  • Promoting other apps
  • Registration of custom URL schemes
  • Requests for user reviews of the app, using StoreKit’s requestReview(in:) method
  • Searching for paired Bluetooth devices

--

--