App Clips

RSS for tag

Provide a way to quickly access and experience what your app has to offer. An app clip is a small part of your app that lets users start and finish an experience in seconds, even before downloading your app.

App Clips Documentation

Posts under App Clips tag

61 Posts
Sort by:
Post not yet marked as solved
10 Replies
496 Views
I have published the app on the App Store along with its corresponding app clip, my app clip is configured with some advanced experiences for each one of my clients, but whenever some users try to scan an NFC or QR Code they see the card rendering correctly with their configured banner image, but with the message "App Clip Unavailable". The weird thing is that both iMessage and the website to which the associated domain is set and the apple-app-site-association is stored, renders the banner or card correctly, and when the users tap the banner or card they open the advanced app clip experience correctly without any issue. I have attempted to troubleshoot the issue by checking the following: if the app clip is below 15MB if we are using a second level domain in my associated domain both for my app clip and app (excluding the www subdomain). checking if the AASA is correctly stored inside .well-known directory checking the configuration for the advanced experience I opened a case: 102233443873, and added a bunch of videos and screenshot showcasing the issue, but I have not yet received a reply
Posted Last updated
.
Post not yet marked as solved
0 Replies
91 Views
We're developing our first App Clip, and having issues with accessing the keychain. At the moment, we've been running the App Clip from Xcode with the environment variable, _XCAppClipURL, set to a URL the app clip responds to. This is the failing call: var addquery: [CFString: Any] = [ kSecClass: kSecClassGenericPassword, kSecAttrLabel: "secretKey", kSecAttrAccount: userID] if let accessGroup = accessGroup { addquery[kSecAttrAccessGroup] = accessGroup } SecItemDelete(addquery as CFDictionary) addquery[kSecAttrAccessible] = kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly addquery[kSecUseDataProtectionKeychain] = true addquery[kSecValueData] = key let status = SecItemAdd(addquery as CFDictionary, nil) guard status == errSecSuccess else { throw MercuryError(message: "Failed storing db encryption key: \(status)") } The status that is reported has the value -34018, which I haven't tried to compare to the massive list of constants. The trouble seems to be kSecAttrAccessGroup, to which we're our App Group value, e.g. group.com.bundle.different.string as shown below. Both full app and clip belong to this group. We've also tried setting kSecAttrAccessGroup to the keychain access group setup for the full app, but we can't seem to add a keychain sharing entitlement to the app clip... at least not in the UI. So we're unsure if setting the param to this is supposed to work in this case. If instead we avoid setting kSecAttrAccessGroup altogether, the call to SecItemAdd succeeds in the App Clip. The full app seems to be able to later access the stored key. But this is less safe, right? Given that previous versions of the full app are currently using the App Group for this call, changing it would be a disruption for our users. For completeness, the full app works with the app group passed in or not as always. Setup Stuff Full App Bundle ID is something like: com.bundle.ident App Clip has the default suffix added: com.bundle.ident.Clip App Clip Entitlements: <dict> <key>com.apple.developer.associated-domains</key> <array> <string>webcredentials:domain.com?mode=developer</string> <string>webcredentials:domain2.com?mode=developer</string> <string>applinks:domain.com?mode=developer</string> <string>applinks:domain2.com?mode=developer</string> </array> <key>com.apple.developer.parent-application-identifiers</key> <array> <string>$(AppIdentifierPrefix)com.bundle.ident</string> </array> <key>com.apple.security.application-groups</key> <array> <string>group.com.bundle.different.string</string> </array> </dict> I don't seem to be able to add the keychain-access-groups key to this one, but, given that we're scoping the keychain access to the App Group, it shouldn't matter(?). Relevant Full App Entitlements: <dict> <key>com.apple.developer.associated-domains</key> <array> <string>webcredentials:domain.com?mode=developer</string> <string>webcredentials:domain2.com?mode=developer</string> <string>applinks:domain.com?mode=developer</string> <string>applinks:domain2.com?mode=developer</string> </array> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.application-groups</key> <array> <string>group.com.bundle.different.string</string> </array> <key>keychain-access-groups</key> <array> <string>$(AppIdentifierPrefix)com.bundle.third.string</string> </array> </dict> What's missing here is the com.apple.developer.associated-appclip-app-identifiers, but I understand that's added automatically when I archive, so that it shouldn't be relevant here.
Posted Last updated
.
Post not yet marked as solved
0 Replies
190 Views
We are trying to develop an app with AppClip functionality because we believe that launching an app with AppClip as the driving force is very good. Since it will be an app for employees, we plan to distribute it via MDM and links, so we will not publish it on the AppStore. I know you said in a past forum that you did not support AppClip 3 years ago, but I would like to know what the current status is. https://developer.apple.com/forums/thread/652854
Posted Last updated
.
Post not yet marked as solved
0 Replies
136 Views
Wanted to check if it is possible now with iOS 17+ to invoke an appclip from any browser (Safari, Chrome, FireFox, etc.) with a custom link from a website button or something similar? Based on this wwdc session from 2023 it seems that we can invoke it from any app, but wanted to confirm that browsers' clicks or redirects follow the same pattern https://developer.apple.com/videos/play/wwdc2023/10178/?time=312
Posted
by docuiOS.
Last updated
.
Post not yet marked as solved
0 Replies
107 Views
iOS17 uses the openURL method to open the appclip default link, but the first click does not respond. such as [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://appclip.apple.com/id?p=com.icyarrow.haloradio.ios.Clip"] options:@{} completionHandler:^(BOOL success) {}];
Posted
by Big666.
Last updated
.
Post not yet marked as solved
0 Replies
177 Views
When we use the App Clip link to jump on an iOS17 device, the first click will not respond, and the App Clip pop-up window will not pop up until the second click. Proceed as follows: After the iPhone clicks the link for the first time, or clicks the ‘Clear Experience Cache’ button in setting-->Developer-->App Clips Testing On the Notes App on iPhone, click the link https://appclip.apple.com/id?p=com.example.naturelab.backyardbirds.Clip There is no response when clicking the link for the first time, and the window will not pop up until the second click. Is this an iPhone problem? Looking forward to your reply
Posted
by Big666.
Last updated
.
Post not yet marked as solved
0 Replies
171 Views
I have a customer who is attempting to open my app clip via the default experience web url. Upon tapping the "open" button the user is presented with a "The operation could not be completed. (CPSErrorDomain error 8) I can't find any documentation on the CPSErrorDomain.
Posted Last updated
.
Post not yet marked as solved
1 Replies
183 Views
For a few days now, we are getting an error page saying "403 Forbidden" when clicking the "Edit Advanced Experience" button for our App in App Store Connect. Also, the cache status for our domains says "Cache status updated on Feb 29, 2024 at 10:49 AM." which is almost a week ago. Are we the only app having this issue, or is it more widespread?
Posted
by jchpemo.
Last updated
.
Post not yet marked as solved
1 Replies
270 Views
I have a demo AppClip which does Passkey registration and assertion in a wizard style page collection. Very often, the assertion would fail with the error "Couldn't communicate with a helper application". Retrying it few times will eventually work. Full error: Connection to agent service interrupted with error: Error Domain=NSCocoaErrorDomain Code=4097 "Couldn’t communicate with a helper application." I don't know exactly what's causing this and how to prevent it? It only seems to happen during assertion, not registration.
Posted
by Geddoff.
Last updated
.
Post not yet marked as solved
0 Replies
207 Views
We're currently evaluating offering an App Clip experience alongside our full app and I'm particularly interested in understanding how updates to App Clips are rolled out to users. The documentation, specifically the section on Updating and Deleting App Clip Experiences provides some insights into how to make an update to an already existing App Clip: To update an already released App Clip, create a new App Clip experience and attach it to a new version of your app. When the new version passes App Review and you publish it on the App Store, it uses the new App Clip experience. From this, my understanding is that all users, including those who have previously accessed the older version of the App Clip, will automatically receive the updated version upon their next use. Is my interpretation correct? I'm particularly curious about how seamless this transition is for users who might have the previous version cached. Do they encounter any disruptions, or is the switch to the updated version smooth (assuming they have a decent network connection)? I would greatly appreciate any insights or shared experiences regarding the App Clip distribution process.
Posted Last updated
.
Post not yet marked as solved
0 Replies
211 Views
Apple has a QR code-like pattern called App Clips, which is circular. It only displays corresponding information when scanned with an iPhone camera. There are detailed official documents explaining how to create this pattern, available at: https://developer.apple.com/documentation/app_clips/creating_app_clip_codes/creating_app_clip_codes_with_the_app_clip_code_generator However, there is no official documentation on how third parties can scan and recognize the information in App Clips. Like QR codes, there are many third-party applications that can read the information in QR codes, but there is no instruction on how to retrieve information from App Clips patterns. App Clips image:
Posted
by dsb2468.
Last updated
.
Post not yet marked as solved
0 Replies
241 Views
I have an app with an app clip that we have have had for over a year. Up until 15:th Feb 2024, every time we created a new app version, the App Clip section, that decides how the app clip card looks like, has retained its information. However, this time, when I created a new version, the App Clip section became empty. Steps to reproduce: Create a new version of the app (e.g. enter "1.4.9" to the version dialog box and click save). On the page for the new version, scrolling down, I saw a banner with a message in the top of the App Clip section saying something like "you have a new App Clip version, do you want to use metadata from the previous build?" - see image for an approximate location. (This is the first time I see this message, up until now the app clip setup has always remained the same between versions without me needing to do anything) Without saying yes/no to this message, i) enter a "What's new" text and ii) choose a new build to upload. Then click Save at the top of the page. Expected outcome: the old App Clip setup from the previous version would remain, or the banner with the message from step 2 would be there until I have made a choice Actual outcome: All settings in the App Clip section are empty. Also, the message of using app clip metadata from the old version is gone, so no way to say yes to that message anymore. How can I get my app clip data back from the previous version (1.4.8) without needing to re-enter it manually? Can I delete and re-create the 1.4.9 version to see the App clip metadata message again? If so, how do I delete version 1.4.9? I can't find a delete button. Or can I using some other means trigger that App Clip metadata banner/message again?
Posted
by Maccer.
Last updated
.
Post not yet marked as solved
2 Replies
822 Views
we created a QR code for our Instagram page, it was created on QRCode Monkey site, with our logo in the middle ...it's astatic QR code not dynamic... it works on non-iPhone/IOS devices, and it works in some iPhones (we test couple of old iPhones) for most new iPhones we get the message "this app clip not currently available in your country/region." how to find out the issue, and how to fix it, or how to create a QR code that wouldn't have such issue?!!! thanks in advance.
Posted Last updated
.
Post not yet marked as solved
0 Replies
271 Views
I woke up this morning to all of our app clips showing "App Clip Unavailable" on the app clip card with no change on our side to the app or app clips. What's weird is that the app clip card shows up fine if you have our app installed, otherwise it shows the error message on the app clip card. My leading theory is it could be an issue with apple's system (wouldn't be the first time we've had issues that were magically broken then fixed with nothing being changed), anybody else seeing issues or have ideas? Have verified the apple-app-site-association files have not changed and that the Associated Domains in any recent app releases all are the same.
Posted Last updated
.
Post not yet marked as solved
0 Replies
308 Views
Hi - I use TipKit in my App and AppClip. TipKit is configured with the app group's datastore. The tips show in the App, but on the AppClip, with the same rules/state, the tips do not display. Is this expected? TipKit is not listed as one of the frameworks unavailable to AppClips. try? Tips.configure([ Tips.ConfigurationOption.displayFrequency(.hourly), Tips.ConfigurationOption.datastoreLocation(.groupContainer(identifier: BuildConfiguration.shared.userDefaultsSuite)) ])
Posted Last updated
.
Post not yet marked as solved
1 Replies
270 Views
My App Clip has been active for a few years with no problems and the App Clip or the full app opens and behaves as expected when opened from a custom url with a query via the Smart Banner in Safari. However, the App Clip card is also now displayed when the url is sent via Messages (not sure if this new - I used to just see a small link icon?). The problem is that users get different results depending on whether they tap on the card itself or instead tap the Open button. For example, if a simple text message is sent with the text url: http://domain.com/path/?abc the AppClip card is displayed for the recipient in messages. When the recipient taps the card's image, SceneWillContinue receives the full url with its query and the app behaves as expected. But if the card's Open button is tapped SceneWillContinue instead receives the url without the query component (ie. just http://domain.com/path/) and the App Clip action is consequently not activated. is this normal behaviour or is it a bug? Or am I doing something wrong? Thanks.
Posted
by andsoff.
Last updated
.
Post not yet marked as solved
0 Replies
298 Views
Hi Apple Devs, I'm seeing additional custom app clip card registrations made manually via the AppStoreConnect website that are "received" successfully (so all the registration parts entered fine online) can take anywhere between 24-48 hours to "process" and the finally start showing up on on device for the given registration URL. Am I doing something wrong that causes this delay? Is there some cache somewhere I need to clear somehow to see registrations faster? Why is there such a delay and why is this process and it's finish time so opaque to the developer? We never know after completing the registration flow for a new App Clip Card when we can expect the App Clip Card to start showing up/working. We just shrug and wait a few days and it suddenly starts working. TIA
Posted
by Evolk.
Last updated
.
Post not yet marked as solved
1 Replies
512 Views
Hi, with the release of iOS 17 App Clips are supposed to support sizes of 50 MB if you're targeting iOS 16.4 or later. However, when I submit such a build to the App Store I receive an "Invalid Build" email, saying that my app "exceeds the maximum allowable size of 15 MB after app thinning." My app is 32 MB and targets iOS 16.4, yet App Store Connect appears to still be hewing to the old 15 MB limit. Any ideas on how to solve this? Is there a setting I'm missing? Thanks!
Posted
by radvani7.
Last updated
.