Post not yet marked as solved
When I click on a link that takes me to an app on the web, my iOS 15.2 device takes me to the App Store even though I have the app.
By the way, it's working fine on iOS 15.1.
Is there any change in behavior in iOS 15.2?
Thank you for your confirmation.
Post not yet marked as solved
We have an iOS app that is distributed as a Custom App using Apple Business Manager. Our customers are firms which do some final configuration (via MDM) on the app so that it is ready for their employess to use.
We now want to introduce Universal Links. The associated domain for these links corresponds to the respective server of the customer. We have tried out the links on a sample branch and it all works fine. But: Our product must not contain any customer-specific information. So we cannot enter the server addresses of the customers as associated domains in Xcode. I would expect there to be a way to register an associated domain via MDM using a configuraiton or profile, to circumvent the Apple Content Delivery Network. But I cannot find a way.
Does anybody have a clue?
Post not yet marked as solved
We, (the registered Apple Developer, let us say Organisation X with team ID A1B2C3D4E) have two apps, let us call them A and B (bundle IDs com.organisation.project.appa and com.organisation.project.appb respectively).
A has both an iOS and a tvOS version.
B presently has an iOS version only.
App A has Universal Search for Apple's TV app implemented and it works fine.
We want to migrate our users from A to B over a few months' time with both apps being available to users.
We want Universal Search to work with app B as-well and are preparing the requisite feeds for it.
As per Apple's developer documentation, we must have our app ready on both iOS and tvOS.
However, we would like to use app A's tvOS version on, well, tvOS, instead of developing a new tvOS extension for app B.
So, if a user is on iOS, they are taken to app B when searching within Apple's TV app.
But when they are on tvOS, they are taken to app A from the TV app search results.
If we update our feeds such that the iOS deeplinks point to app B and tvOS deeplinks point to app A, would this approach work, as-in, will Apple allow this?
Another question is that is the assumption that 'in this situation (two apps from one developer working in unison for Universal Search functionality) we will need to have a single feed as it seems to be mapped to the team ID and not the app', correct?
Post marked as Apple Recommended
We updated the file ~2 days ago and the feature we are working on seemingly does not work - web links never open in the app, always end up at the browser.
I set up new test site, added the file there and linked it up with the app. Tapping the link opens in the app.
So my conclusion is that Apple's CDN is not updated. But how I can verify that?
Post not yet marked as solved
Opens the application at the end of the list in the file (https://qr.nspk.ru/.well-known/apple-app-site-association)
When opening a link in iOS 15.1 https://qr.nspk.ru/AS10005R3139LA908PSR8H1RO4H1BSD5?type=01, the SberBank Online application opens (https://apps.apple.com/app/id492224193), not Tinkoff (https://apps .apple.com/us/app/tinkoff/id455652438) or Elplat (https://apps.apple.com/ru/app/%D1%8D%D0%BB%D0%BF%D0%BB%D0%B0 %D1%82-%D0%BE%D0%BD%D0%BB%D0%B0%D0%B9%D0%BD/id1485845162), but they are higher in the list.
When opened in iOS 14 and below, it opens the application that is higher in the list.
Post not yet marked as solved
We utilize universal links for our auth flows through Safari. What we are seeing is when the user selects the "username and password" stored in the keychain, the form gets autofilled and sometimes autosubmitted. When this occurs the method application:continueUserActivity:restorationHandler in the application's AppDelegate does not get triggered, leaving the user stuck on Safari.
Post not yet marked as solved
My app has associated-domain to activate universal links.
In iOS 15.1 or higher versions, browser-back is not working correctly in the domain.
Mobile safari doesn't save scroll-position after going back to the domain's URL.
It works correctly in the following condition.
iOS 14.x or iOS 15.0
removing https://<fully qualified domain>/.well-known/apple-app-site-association
Universal links may cause the problem.
Many iOS15.1 and iOS15.2 users is inquiring us about the same problem.
Is it bug of iOS?
Post not yet marked as solved
Hi Everyone,
My boss and I are trying to choose and assimilate into a project management workflow and are currently considering some of the major PM apps available (Daylite, Basecamp, etc.). We are currently using Notion as a knowledge capture tool and project manager modeled after a program (Year Zero) created by productivity content creator August Bradley. But, one major requirement that we have and can't seem to figure out is creating a universal link to emails in Apple Mail. My boss uses Apple Mail to process his emails and would like to simply create a universal link to emails that contain action items or require later review, and send it to whatever PM software we choose, or to store in Notion.
We have discovered a somewhat useful but clunky workaround in which you export an email to reminders or notes and it creates a link in the form of an icon back to the email, but the icon is not copy/paste-able into other apps like Notion, etc.
Now, we are also aware that certain programs like Daylite, ToDoist, and Basecamp allow you to forward emails to your workspaces via proprietary email addresses that link to their databases, but these have varying degrees of utility as they often are very limited in the degree of control one has over where the email is sent and stored, and what information/formatting is retained.
Anyway, does anyone have information about how to effectively universally link to an original email on the Apple Mail servers?
Post not yet marked as solved
Prior to iOS 14 our Dev server was routing universal links to our test devices just fine from both Xcode and TestFlight builds. But now that we've started testing on iOS 14 devices the links aren't being handled any more.
After doing some research we noticed the new configuration regarding Associated Domains for web servers that aren't reachable from the public internet.
https://developer.apple.com/documentation/safariservices/supporting_associated_domains
Starting with macOS 11 and iOS 14, apps no longer send requests for apple-app-site-association files directly to your web server. Instead, they send these requests to an Apple-managed content delivery network (CDN) dedicated to associated domains. While you’re developing your app, if your web server is unreachable from the public internet, you can use the alternate mode feature to bypass the CDN and connect directly to your private domain.You enable an alternate mode by adding a query string to your associated domain’s entitlement as follows:
<service>:<fully qualified domain>?mode=<alternate mode>
Given our Dev server is only reachable via a VPN we changed our project config to use the alternate mode:
<key>com.apple.developer.associated-domains</key>
<array>
<string>webcredentials:ourDevServerURL?mode=developer</string>
<string>applinks:ourDevServerURL?mode=developer</string>
</array>
But unfortunately that still doesn't work and in the console we can see the following swcd logs being generated after a fresh app install.
debug com.apple.swc 11:45:19.016561-0600 swcd entry Skipping domain si….va….com?mode=developer because developer mode is disabled
So what else do we need to get developer mode working for these app links?
Post not yet marked as solved
Hello,
I have an intermittent problem that shows up when a user taps a Universal Link that opens my app.
I've got a WKWebView with a stored authentication cookie. Normally when the app runs the cookie is loaded from the locksmith storage and put into the webview's cookies. When the webview accesses the web app, the web app knows the user is authenticated.
When the app is brought to the foreground, a Javascript call is evaluated in the webview.
Scenario:
App has been used and the user is no longer in it. Time passes -- maybe a night?
User gets an email with a Universal Link and taps on it.
App opens, loads the link in the webview, and gets the unauthenticated version.
App sends the movedToForeground Javascript call and gets an error: "JavaScript execution returned a result of an unsupported type".
Error is captured and an app alert pops up asking if the user wants to reload.
User taps reload and gets the login form (again showing webview is not authenticated).
I can't easily reproduce this error. I can go back to the email, tap the link, and it loads the authenticated version without error. I can even kill the app, tap the link, and it correctly loads.
The process involves every part of the app that I'm not sure where to begin looking.
Post not yet marked as solved
I have a website which is restricted to my country only because all our users are local.
We want to support universal links so we uploaded the relavant file to https://www.myproduct.de/apple-app-site-association.
Apple support saying that they cant reach the file because our firewll allows only my country traffic.
So we opened our firewall to all apple ip range 17/8 but it's not working either and we cant see apple traffic from ip 17/8 to that url.
Anybody knows from which ip apple is testing the apple-app-site-association file and what's the frequency of that testing?
Thank you
Post not yet marked as solved
Hello,
I am developing an App Clip for my app. Until now we supported two invocations,
domain/category/some_id and domain/practice/some_id.
Now i want to add another deep link to my app(only to app) that looks like domain/tip/some_id. When tapping on link if my app is not installed the app clip is opened, but it should not, because i have only created invocations only for the first 2 cases.
I have 2 experiences created in appstoreconnect for the links with category and practice.
My AASA file looks like this:
{
"appclips": {
"apps": [
"bundleId.Clip"
]
},
"applinks": {
"apps": [],
"details": [
{
"appID": "bundleId",
"paths": [
"/practice/*",
"/category/*",
"/journey/*",
"/tip/*"
]
}
]
}
}
My question is how can i keep the tip deep link only for the main app. Should i create another domain?
Thanks!
Post not yet marked as solved
As per my research I found that there is no way to open general settings app but it is possible with openSettingsURLString.
Can I use openURL API with options to open general settings?
And also how can we request iOS API team to provide such support in future as this is so many time generated request.
Post not yet marked as solved
Since some days, our universal links are not working anymore for unknown reasons.
We had the file "apple-app-site-association" located at the root of our server as mentionned here "https://developer.apple.com/documentation/xcode/supporting-associated-domains".
But it seems that he documentation has changed : before, it mentioned the possibility to locate this file at the root of our server OR in the ".well-known" directory. Today, i can see only in the ".well-known" directory.
If its a minor change, it actually breaks all of our universal links...
Anyone knows ?
Thx.
Post not yet marked as solved
Hello, I am having an issue related to provisioning profiles and I am seeking advice on how to resolve it.
This is the error message I am getting:
[06:03:44]: ▸ ❌ error: Provisioning profile "iOS Team Provisioning Profile: com.binnys.universal" doesn't support the Associated Domains capability. (in target 'Runner' from project 'Runner')
[06:03:44]: ▸ ❌ error: Provisioning profile "iOS Team Provisioning Profile: com.binnys.universal" doesn't include the com.apple.developer.associated-domains entitlement. (in target 'Runner' from project 'Runner')
For context, I am building an app using the Flutter framework with an Azure DevOps pipeline for Continuous Integration, and running a fastlane script to build the app. This is my fastlane script below:
default_platform(:ios)
platform :ios do
desc "Build for iOS"
lane :prod do
update_app_identifier(
xcodeproj: "Runner.xcodeproj",
plist_path: "Runner/Info.plist",
app_identifier: "com.binnys.universal",
)
update_project_team(
path: "Runner.xcodeproj",
teamid: "L3B96G5S7X",
)
cert
sigh(
force: true,
app_identifier: "com.binnys.universal",
filename: "InHouse_com.binnys.universal.mobileprovision",
)
build_app(
scheme: "Prod",
output_name: "Binder-Prod.ipa",
export_method: "enterprise",
export_xcargs: "-allowProvisioningUpdates",
export_options: {
compileBitcode: false,
}
)
end
lane :dev do
update_app_identifier(
xcodeproj: "Runner.xcodeproj",
plist_path: "Runner/Info.plist",
app_identifier: "com.binnys.universal.dev",
)
update_project_team(
path: "Runner.xcodeproj",
teamid: "L3B96G5S7X",
)
cert
sigh(
force: true,
app_identifier: "com.binnys.universal.dev",
filename: "InHouse_com.binnys.universal.dev.mobileprovision",
)
build_app(
scheme: "Dev",
output_name: "Binder-Dev.ipa",
export_method: "enterprise",
export_xcargs: "-allowProvisioningUpdates",
export_options: {
compileBitcode: false,
}
)
end
end
And this is the relevant part of the build pipeline in Azure DevOps
- job: iOS_Prod
pool:
name: Mobile
steps:
- task: FlutterInstall@0
inputs:
channel: $(flutterchannel)
version: $(flutterversion)
- task: InstallAppleCertificate@2
inputs:
certSecureFile: $(p12FileName)
certPwd: $(p12Password)
keychain: 'temp'
- script: |
flutter clean
cd ios
pod repo update
cd ..
displayName: 'Clean'
workingDirectory: './binder'
- task: FlutterBuild@0
inputs:
target: 'ios'
projectDirectory: './binder'
buildFlavour: 'Prod'
entryPoint: './lib/main.dart'
iosCodesign: false
- script: fastlane prod
displayName: 'Fastlane'
workingDirectory: './binder/ios'
- task: PublishPipelineArtifact@1
inputs:
targetPath: './binder/ios/Binder-Prod.ipa'
artifact: 'iOS_Prod'
publishLocation: 'pipeline'
When I run the fastlane script locally on my MacBook Pro, I get no errors and the app compiles successfully.
The build agent that we are running the pipeline on is a Mac Mini that our company owns. When I run the fastlane script directly on the Mac Mini, the app also compiles without error. However when running the DevOps pipeline on the same computer (the Mac Mini), using the same fastlane script, it fails with the error above, and I don't understand what could be the difference that causes it to fail.
We have been using this build process for a while, but it is failing now that we have added a feature requiring Associated Domains capability, but again it is only failing when run through the Azure DevOps pipeline.
I don't think that the provisioning profile itself is the issue, because the fastlane script is downloading the latest provisioning profile for the app and it appears to be the correct provisioning profile.
Also the app id has the associated domains capability checked:
And the app has a Runner.entitlements file with the following:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>aps-environment</key>
<string>development</string>
<key>com.apple.developer.associated-domains</key>
<array>
<string>applinks:binnys.page.link</string>
</array>
</dict>
</plist>
If you have any ideas whatsoever on what might be causing this, I would appreciate the help.
Post not yet marked as solved
Hello,
I saw that now you can build multiple Appstore pages for you app using the new Custom Product Page.
My question is:
How can an app know from which product page was installed?
I would like to give users custom experiences based on the product page they installed the app from and I don't get it how could I know this information from an apps perspective.
Post not yet marked as solved
We have a test server using http. We are trying to open the app through a universal link. I followed the documentation regarding the AASA file and set up the capabilities. It's been two hours since I uploaded the AASA file in the test server, restarted xcode, clean the project, build and ran througth xcrun simctl but it's not working.
Post not yet marked as solved
Hi all,
how do you handle the case to have a link on one webpage of your own domain, which shall open your own app using an universal link defined on the same domain.
According to the docs Universal Links on the same domain do NOT open in the app. I do understand the reason, but I am asking myself, how to best handle the case, where my client does indeed want to link from his own web page to his own app.
How do others handle such a request?
Isn't that a very common request from clients?
Thanks for any good advice
Post not yet marked as solved
How we can customize AppStore app links? I didn't find Documentation on Apple resources about this.
We have next case:
We use InApp purchases for subscriptions products in our app and we promote one of this subscription with Free trial on our page in AppStore.
We also use one service for attribution for marketing where we generate universal links.
We implemented feature to use different universal links to suggest different subscriptions for users with these links
But when users hasn't our app on their devices, they navigating to AppStore at first, where they also see Free trial suggestion.
So we can't guarantee user funnel with right InApp product identifier and user won't interrupt initial subscription suggestion to other subscription type.
As a result, we can't A/B test different subscriptions, Ad campaigns and compare the results
Can we configure AppStore app link to disable subscription promotion on the page in AppStore?
We don't want disable this subscription promotion via AppStore connect account entirely
Post not yet marked as solved
Hi Team,
We had upload the new AASA, and once we tested with Pilot App in Prod, the Universal Link doesn't works.
We understand that the AASA will be cached by Apple CDN.
Some questions: How to validate if Apple has been cached our new AASA, this has been updated more than 1 week,
How to request apple to retrieve from our web to update their cached version of AASA?
If the AASAhas been updated, do anyone know what else worth to check in order for our Universal links to be works? Kind help and documentation is much appreciated.
Thank you!