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.

Posts under App Clips tag

64 Posts
Sort by:

Post

Replies

Boosts

Views

Activity

Can't seem to Invoke App Clip
Hello, I recently created an App Clip experience & believe to have connected my associated domains correctly as well as the Apple Site Association but can't seem to Invoke it. I am using Firebase as my backend and the domains that should invoke are: tap-in-a8214.web.app tap-in-a8214.firebaseapp.com I have the following for my associated domains: Main App: applinks:tap-in-a8214.web.app applinks:tap-in-a8214.firebaseapp.com App Clip: appclips:tap-in-a8214.firebaseapp.com appclips:tap-in-a8214.web.app If I have the main application installed & I see the banner on my website letting me open the main app. If the main app is not installed I do not see the banner for the app clip. Here is my apple association file: { "applinks": { "apps": [], "details": [ { "appIDs": ["K29CK7JLWG.software.wonderland.tapin"], "components": [ { "/": "/event/*", "comment": "Matches any URL path starting with /event/ for the main app" } ] } ] }, "appclips": { "apps": [ "K29CK7JLWG.software.wonderland.tapin.Clip" ] } } I also setup the appclip in app store connect & when trying to access the default link for the app clip I get 'App Clip Not Available' https://appclip.apple.com/id?p=software.wonderland.tapin.Clip Let me know if I am missing something, the associated domains are included in the capabilities. I can't get it to work locally either, I have setup local experience with matching bundle and urls & have put invocation url in my scheme for the app clip. I have a feeling it's something simple. Any help would be much appreciated.
1
0
151
2w
How to configure App Clip Only XCode project
I have an App, and I want to publish an App Clip in addition to that app. Due to size restrictions I cannot share any of my assets or code, so I made a new XCode project (for background, the original project is a build from Unity, so it would be inconvenient to link them into one XCode project). I have set up an XCode project with an App Clip, then deleted the main App from it, and now I want to distribute the App Clip to XCode. I could not push to the App Store in the organizer (only 'custom' available under 'method for distribution', then I can only select 'Built Products' or 'Archive', no upload to App Store, see screenshot) until I found that my App Clip target (the only target in my project) had Build Settings -> Deployment -> Skip Install set to Yes. When I turn that to No, in the Organizer when pushing to App Store Connect, it now tries to create a new App instead of connecting it to the already existing app (see next screenshot, actual bunlde id removed but it matches) The already existing app has a bundle id io.mycompany.maypp, and the app clip has io.mycompany.myapp.Clip Is what I am trying even possible, or do the main app and app clip need to be published in the same XCode project? Which settings do I need for this?
0
0
140
3w
Using in-app purchase in App Clips
Is it possible to initiate an iap flow from App Clips? There's not a clear answer to this in the docs. StoreKit is NOT listed as an unapproved framework for App Clips, but in-app purchases ARE listed as "not recommended" for App Clip functionality. I tried setting up a test with a StoreKit config file on the App Clip in XCode and the products weren't returned but... storekit testing... it would be great to get confirmation on this functionality after the iOS 17 updates.
1
0
198
3w
Pre-release testing of Default App Clip Link
Hi all, I’m currently developing an App Clip, and for our first version, I want to exclusively use the default app clip link generated on App Store Connect to invoke the App Clip (of the form https://appclip.apple.com/id?p=<bundle_id>). I've published a build to App Store Connect, and I can see it has generated the link.
 There is good documentation around testing App Clip invocations when using an associated link pre-release, but not so much for testing the default link.
 I've read some things online that would suggest that the default App Clip link is not able to be tested before App Store approval, as the link only becomes active at this point. If that is the case, can we test the default App Clip link invocation via an external beta TestFlight release, or do we need to fully release the app to the App Store to test the link invocation?
 Any insights or experiences you could share would be greatly appreciated.
0
0
140
May ’24
I added an appclip and suddenly my uploads no longer appear in iOS builds
I have a full app and I have done quite a number of uploads and TestFlights. But after I add app clip to my full app, when I archive, the iOS build will show (processing) but after I refresh the webpage, the build that was shown to be processing previously vanished from the iOS build. This is the image showing the new iOS build: 19 (processing) This is the image showing the iOS builds after I have refreshed the webpage: As you can see the build 19 no longer appears. Now I don't know how to solve this problem. Can anyone help ?
0
0
132
May ’24
Sign in with Apple Revocation goes through but ineffective? Radar time?
Good day folks, We have a workflow setup where a new Sign in with Apple user registers (first SIWA login where user can pick name and show/hide email), and the server-side code obtains a refresh token from SIWA REST API. That refresh token is stored internally against the user's profile in the DB for future use. Whenever user account is deleted from server-side, we use that refresh token to revoke Sign in with Apple (so that the user would need to go through registration flow rather than sign in- where they have an option to specify name and show/hide email). That has been working beautifully until we have added an AppClip to the app. The code which obtains the refresh token "respects" the correct bundle ID for the main app / app clip, and everything seems to work. Both of Apple's APIs return OK codes. In fact, we even get the email from Apple when token is revoked which reads "APP_NAME has revoked your Sign in with Apple account. Next time you use Sign in with Apple to sign in to your onUgo Access account, you will have to share your name and email again". Problem is- it doesn't. SIWA still offers to "sign in" as if account is still linked, and the app still shows up as "App using Sign in with Apple" in iPhone settings. What's even more mysterious is that you can't delete/revoke/"Stop using Apple ID" on that SIWA link with the app from iPhone settings too! It seems to work, but the app never goes away from the list, as if it fails silently. Could anyone please help shed some light on this?
1
1
292
1w
App Clip Keychain Access Fails with App Group, status -34018
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.
3
0
217
Apr ’24
AppClip on Custom Apps
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
0
0
357
Apr ’24
Invoking app clips using a custom link from any browser
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
2
0
254
Apr ’24
iOS 17 App clip link click
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
0
0
298
Mar ’24
CPSErrorDomain error 8
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.
0
0
288
Mar ’24
App Clip Unavailable
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
12
1
896
Apr ’24
403 Forbidden when editting advanced App Clip experiences in App Store Connect
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?
1
1
284
Mar ’24
How are App Clip updates rolled out to existing users of an App Clip?
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.
1
0
320
Feb ’24
How do I get URL from App Clip Code image?
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:
0
0
294
Feb ’24