Description
Feature Request: Support for Universal Links on iOS for makecode.calliope.cc
Summary
To significantly improve the user experience on iOS—especially when interacting with shared MakeCode project links for the Calliope mini—we propose full support for Universal Links. This would allow links to makecode.calliope.cc
to open directly in the Calliope iOS app instead of in the browser, enabling a seamless workflow for flashing projects to the Calliope mini.
Current Limitation
Currently, when a user clicks a MakeCode link (e.g., makecode.calliope.cc/abc123
) on iOS, it opens in Safari. If the Calliope iOS app is installed, the ideal behavior would be to open the app directly and load the project.
Goal
Implement Universal Links so that URLs pointing to MakeCode projects automatically open in the Calliope iOS app when installed.
What’s Needed
To enable this, Apple requires an apple-app-site-association
(AASA) file to be served from the following location:
https://makecode.calliope.cc/.well-known/apple-app-site-association
Example Content of the AASA File
{
"applinks": {
"details": [
{
"appIDs": ["TEAMID.APPBUNDLEID", "TEAMID.APPBUNDLEIDDEBUG"],
"components": [
{
"/": "/*",
"comment": "We match any path on the (sub)domain, as all paths are valid MakeCode IDs"
}
]
}
]
}
}
- TEAMID: Found in the Apple Developer Account.
- APPBUNDLEID and APPBUNDLEIDDEBUG: Identifiers for the release and debug versions of the Calliope iOS app.
- These values can be sent by email or added to the release build.
Benefits
- Seamless UX: Opens shared MakeCode project links directly in the app.
- Improved Accessibility: Flashing from browser to Calliope mini via app becomes instant and intuitive.
- Testing Ready: This feature is already implemented in the TestFlight version and can be tested as soon as the file is correctly served.
Thanks!
@abchatra @eanders-ms same has also been addressed here: microsoft/pxt-calliope#326