Post not yet marked as solved
Hello
We're trying to use App Store Connect API to create our advanced app clips experiences but we fail as the WWDC video code is incorrect.
The request format to create the appClipAdvancedExperiences is not clear at all in the documentation, and while we first had some tips in the error messages, the last we have now is Error 500 - UNEXPECTED ERROR - "An unexpected error occurred." - "An unexpected error occurred on the server side. If this issue continues, contact us at https://developer.apple.com/contact/." which is not very helpful.
Can someone help us with this?
Thanks
S.
Post not yet marked as solved
Hello,
We release an App Clip back in December 2020, and everything was working just fine for the longest time. However, sometime relatively recently, not exactly sure when it started, the Domain URL Status started showing this “Cannot Reach AASA File” error; and consequently, the App Clip invocation fails now.
The API Validation Tool is saying “Error cannot parse app site association file” as the reason.
We have not made any changes in the App / App Clip, and the associated domain is still set as appclips:mobileapp.caesars.com
The Apple App Site Association file hasn’t been changed either, and the format still matches that specified on https://developer.apple.com/documentation/app_clips/associating_your_app_clip_with_your_website.
The AASA file returns no problem in a browser and from curl command as you can see below:
Last login: Tue Jul 12 09:11:11 on console
curl -v https://mobileapp.caesars.com/.well-known/apple-app-site-association
* Trying 192.230.66.155:443...
* Connected to mobileapp.caesars.com (192.230.66.155) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
* CAfile: /etc/ssl/cert.pem
* CApath: none
* (304) (OUT), TLS handshake, Client hello (1):
* (304) (IN), TLS handshake, Server hello (2):
* (304) (IN), TLS handshake, Unknown (8):
* (304) (IN), TLS handshake, Certificate (11):
* (304) (IN), TLS handshake, CERT verify (15):
* (304) (IN), TLS handshake, Finished (20):
* (304) (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / AEAD-AES128-GCM-SHA256
* ALPN, server accepted to use h2
* Server certificate:
* subject: C=US; ST=Nevada; L=Las Vegas; O=Caesars License Company, LLC; CN=*.caesars.com
* start date: Jul 28 00:00:00 2020 GMT
* expire date: Oct 14 12:00:00 2022 GMT
* subjectAltName: host "mobileapp.caesars.com" matched cert's "*.caesars.com"
* issuer: C=US; O=DigiCert Inc; CN=DigiCert SHA2 Secure Server CA
* SSL certificate verify ok.
* Using HTTP2, server supports multiplexing
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x12b810400)
> GET /.well-known/apple-app-site-association HTTP/2
> Host: mobileapp.caesars.com
> user-agent: curl/7.79.1
> accept: */*
>
* Connection state changed (MAX_CONCURRENT_STREAMS == 128)!
< HTTP/2 200
< content-type: application/json
< last-modified: Tue, 29 Mar 2022 17:01:12 GMT
< accept-ranges: bytes
< etag: "8fb84c988e43d81:0"
< server: Microsoft-IIS/10.0
< x-powered-by: ASP.NET
< p3p: CP="DEVa TAIa CURa STA NAV COM PUR ADMa IND OUR CONa"
< date: Tue, 12 Jul 2022 14:13:38 GMT
< content-length: 94
< set-cookie: TLTUID=14DC54AD87C0CE8FE7D996B6462E29DA; Domain=caesars.com; Expires=Sun, 03-Mar-2024 14:13:38 GMT; Path=/
< set-cookie: TLTSID=CE56628D3C96FCC7119B576D984C3119; Domain=caesars.com; Path=/
< set-cookie: visid_incap_2158031=HUn4aDqCSo+WP67o1FH52pGBzWIAAAAAQUIPAAAAAAB3XfZ+ShjpzS05c/MsxAjO; expires=Wed, 12 Jul 2023 06:18:20 GMT; HttpOnly; path=/; Domain=.caesars.com
< set-cookie: nlbi_2158031=q84xFZbqUDGbu15TtwLJSwAAAABBaYw0KJNNHWaeJ2p5/DNV; path=/; Domain=.caesars.com
< set-cookie: incap_ses_979_2158031=w4MXYaAK4R7YuhVx/BuWDZGBzWIAAAAA8Dt1Yyj9qc8nFNp3F96Kxg==; path=/; Domain=.caesars.com
< x-cdn: Imperva
< x-iinfo: 11-18630097-18630107 NNNY CT(35 74 0) RT(1657635217346 57) q(0 0 0 1) r(0 0) U12
<
{
"appclips": {
"apps": [
"YXFZ76LPGW.com.caesars.playbytr.Clip"
]
}
* Connection #0 to host mobileapp.caesars.com left intact
Again, this was all working without any problems and just suddenly stopped for some reason without any apparent explanation. I’ve looked at similar issues reported in the forums with no luck helping solve this issue yet. Any guidance/help would be greatly appreciated!
Post not yet marked as solved
When sending an App Clip URL via messages (message sent by the server), the URL is not recognized as an App Clip.
However, when sending the same link directly via messages, the URL is recognized as an AppClip.
Is it possible to somehow solve this problem and distribute a link to the AppClip through
"Messages" by the server?
Post not yet marked as solved
I have successfully integrated the App Clip into my project by following the documentation.. I also added meta tags to display the smart banner on the site and in the iMessage. When distributing a link via iMessage, the App Clip smart banner is displayed correctly.
Is it possible to do the same, but so that the message with the link to the App Clip is sent through the webserver? How to do it?
Post not yet marked as solved
Pre-Condition:
Main app is not yet launched/installed.
Scenario:
Scan the QR code.
Launch app clips.
Minimize app clips (just go to home screen).
Install main app if necessary.
Launch the main app.
Expected Result:
Main app should not display app clips' screen.
Actual Result:
Main app displayed app clips' screen.
Is there a solution to prevent this from happening?
Note: App clips and app have the same App Groups entitlement and enabled under Capabilities tab.
Post not yet marked as solved
Is there a way we can control the checking of iOS version when scanning the QR code? I would like to redirect the user to a certain web page if iOS version does not meet the required version. Instead of showing the error message from Apple This app clip requires iOS 15.0 or later, I would like to immediately redirect the user to the URL.
I checked the documentation and the WWDC videos if there's any configuration to be done but I couldn't find anything.
Post not yet marked as solved
We have been having problems with our app clip not working when sharing through iMessage. The app and app clip are published and work correctly when scanning a QR code that points to the URL: https://www.coderus.com/locations?loc=1 however if this same URL is shared through the iMessage app, a link to the website displays and not the app clip card.
We have confirmed that:
AASA file is available and has the type application/json
Both devices are above iOS 14
Both devices are in each other's contacts
The website has the meta tag for the smart app clip banner
The website has a meta tag for the og:image
Launch experiences have been configured on AppStoreConnect - as said before, the QR codes work correctly
The link leads to a 404 page, I wasn't sure if there needs to be an actual page that the link points to as app clips seem to work fine without when scanning the QR code through the camera app.
Post not yet marked as solved
AppClip is being created.
AppClip's Associated Domains has "appclips:example.com" added.
appclips:example.com" and "applinks:example.com" are added to the installed version.
The apple-app-site-association is now listed as follows.
{
"applinks": {
"apps": [],
"details": [{
"appID": "TeamID.com.sample.myapp",
"paths": ["*"]
}]
},
"appclips": {
"apps": ["TeamID.com.sample.myapp.Clip"]
}
}
The configuration seems fine, but is there something wrong?
Post not yet marked as solved
I am trying to set the AppClip invocation for my App which is already released on app store. I need an url such that it provides me a jobId e.g.: https://example.com/task?jobId=00001.
My use case is that I send the sms with the url https://example.com/task?jobId=00001 to the user, the user clicks on the url and the app gets started. Then for the other user I send the next url with corresponding jobId.
I did setup the AASA file for my domain (contains the JSON with "applinks" and "appclip" objects) which is valid, also the Domain status is valid on App Store Connect. There is a default experience set with title, subtitle, image and action. I also configured an advance experience for the url https://example.com/task.
However, my app clip doesn't get invoked if I access the url from either sms text or safari. :(
I do not have a web page for https://example.com/task therefore I haven't set up the meta data for this.
Is it possible to invoke the AppClip this way? It is really important for me that the URL is dynamic and I pass that jobId every time for each individual booking.
I already read at least twice Apple documentation about AppClip and I could not find the problem.
Post not yet marked as solved
We have verified that UniversalLink cannot be used with AppClip.
However, the documentation does not clearly state this.
Can I use UniversalLink with AppClip?
Post not yet marked as solved
Hello All,
The issue:
After uploading the app version which is containing the app clip target to App Store Connect & checking TestFlight tab -> this build details -> Build MetaData -> App Clip -> Domain Status -> View Status, it keeps giving me "Bad JSON Content" for my build domain either for CACHE STATUS or DEBUG STATUS. It seems that my AASA file couldn't be validated for some reason that I don't know.
Steps I tried to solve the issue by them :
1- Add the associated domain twice, one with prefix appclips: & the other one with applinks: prefix for both parent & app clip targets.
2- Update the AASA file to include supporting for iOS 13+ & upload this file to the .well-known directory.
3- On server, force type to 'application/json' in the .htaccess file in the .well-known directory.
My Configurations:
Server Side
1- The Content-Type for the AASA file is set to application/json.
2- Server allows AASA-Bot and CFNetwork as user agents.
3- AASA file is uploaded on the .well-known directory on this server without any redirects.
Xcode Side
Invocation url domain is added to both app clip & parent targets’ Associated Domains as the following:
appclips:fully-qualified-domain
applinks:fully-qualified-domain
Web App Side
Requesting this url https://fully-qualified-domain is redirecting to either https://fully-qualified-domain/login if the user is not logged in or to https://fully-qualified-domain/home if the user is already logged in.
Any help is appreciated, thanks in advance!
Post not yet marked as solved
In a SwiftUI app with app clips, taking a screenshot in the app clip triggers a NSUserActivityTypeWeb event. Sometimes the webpageURL is the same as the invocation URL which launched the app clip, other times it is a previous URL which launched another app clip experience. This does not happen when taking a screenshot from the iOS simulator and it does not happen when taking a screenshot within the full app.
Post not yet marked as solved
Hello,
I am creating an app which includes an AppClip. I added the Clip in the build phases (as an Embed AppClip), I use everywhere the good BundleID (either the parent app, or the clip) but when I'm archiving the app, and then I distribute it, i'm still getting this error: IDEFoundation.AssociatedAppClipIdentifiersFilterErrors error 1
I can't figure why this happen, it's the first Clip I do and deploy so it's all new to me.
Post not yet marked as solved
My app clip needs to access the camera so need to redirect users to the settings if access is denied, however the regular method of calling
let url = UIApplication.openSettingsURLString;
if let appSettingsURL = URL(string: url) {
UIApplication.shared.open(appSettingsURL)
}
doesn't seem to take app clips into account and just lands people in the base Settings page. It works fine if directly deploying to a device, but when testing via TestFlight it's installed under the AppClips subsection instead.
Is there a way to get users directly into Settings -> AppClips -> AppName?
Post not yet marked as solved
We have created a couple of app clips on App Store Connect. We are now trying to create many more app clips using the APIs provided by apple. These APIs require the id of the app clip to associate the relationship with the appclipAdvancedExperience.
Post not yet marked as solved
I would like to create some UI tests for an App Clip.
But when adding the UI Test target, I am unable to select the app clip target as the target to be tested (It's greyed out).
The only target I can add is the "real" app.
Any suggestions? Isn't it possible, or do I need to configure it somehow?
Post not yet marked as solved
We have implemented app clip smart banner in our website (https://www.cpf.gov.sg/member) and published our app. Unfortunately the app clip smart banner not appearing.
We have another domain (for UAT) and the app clip smart banner is working fine.
Both Domain URL Status in App Store connect showing "Validated".
Website smart banner setting:
<meta name="apple-itunes-app" content="app-id=389277976, app-clip-bundle-id=gov.sg.cpf.mycpf.Clip">
But we are not seeing the app clip banner. Would like to seek help urgently please.
Post not yet marked as solved
Hello
Are there any limitations on the quantity of the QR-codes which it is possible to generate for app clips in https://appstoreconnect.apple.com/appclips/ui/app-experiences
Is there an api for adding and downloading qr codes?
Post not yet marked as solved
can we disable the app clip when the main app opens?
our main app has NFC service, and NFC tag also can trigger
the app clip, so it will make users confuse. thank!
Post not yet marked as solved
I create a clips, and upload to store, have a error:
ITMS-90876: Missing entitlement - This app contains an app clip. The entitlement 'com.apple.developer.associated-appclip-app-identifiers' should be present and include the value of the app clip's application identifier.
I had seting clip's entitlements file infomation:
com.apple.developer.on-demand-install-capable is YES;
Parent Application Identifiers array has $(AppIdentifierPrefix)com.myproject.
so, how to solve this error?