-
Notifications
You must be signed in to change notification settings - Fork 534
Should Universal Links work in iOS when using TestFlight? #39
Comments
No, you don't need to publish it before you can test it. You don't even need to upload it on the TestFlight. If your setup in Member Centre and on server is correct - then it should launch. So I would suggest to double check, that Also, try to open your iOS project in Xcode, go to |
I think I got all that covered: File platforms/ios/TTapp/Resources/TTapp.entitlements:
|
Yes, seems so. Then it's only apple-app-site-association file left... |
Yes, the iPhone is running iOS 9.2.1.
|
What will happen, if you'll try to open from your email a link like https://ttapp.nl/path/test/ ? It doesn't have to exist on your server. The idea is to check what will happen, if you'll open something, that doesn't lead to the root domain. If it still doesn't open - try to create an empty page like https://ttapp.nl/path/test/test.html without anything in it (mainly - no But besides all of that - if your app is properly configured in the Apple Developer Console, has all the preferences in the Xcode and correct apple-app-site-association - it should open. And according to the info you provided - you did all of that... So yes, I'm a bit lost here... Another experiment that can be done is the following:
If it does - check what is returned on line 31. It should be |
As mentioned another developer, who used this plugin - he had to release the app in order for UL to start working. Which is still weird... |
Both test-links have the same effect: they open in safari. |
Let me get this clear: you tried to open https://ttapp.nl/path/test and it opened in the app 2 times in a row. But on the 3rd attempt it stopped doing so? Then there can be few reasons for that:
With 3 there is nothing can be done, except publishing the app. With 2 you can try two things:
In some cases iOS 9 can reject HTTPS connections. And that option in the property list will tell him not to do so. And as a final resort - publish app on the App Store. Plugin shouldn't effect user in any negative way, so if UL still would not work - he won't get any problems. |
I am not yet at the point to release it to the AppStore, because (and maybe I should open another issue for this) Universal Links seems to require a minimum version of iOS 8, and I still have a number of happy iOS 6 and iOS 7 users. I am perfectly ok for them not to have the UL feature, but I can not just shut them off because they have an old device. Can I somehow include UL in the package but not touch that code on older iOS devices? |
You can comment the following lines of the plugins hook. They are responsible for setting deployment target to not less then 8. I didn't want to set it lower, since don't have a way to check that it will not crash on older devices. |
I have removed and re-added the plugin and on cordova prepare I now get:
I can't remember having seen this before, but it might have been there. What worries me is that it keeps saying this, so the 'adding' operation apparently did not work? Might this be related to the problem? Do I need to change a file/setting? |
That message was there the whole time, and it's fine.
That one means, that plugin tried to find entitlements file in Xcode project, but didn't. So he added it. To check that just open Xcode project and check, if If it is - just ignore the message. |
Unfortunately I'm not a full fledged iOS developer and Xcode user, just using it to put the iOS image into the AppStore, so please take me by the hand. Where can I find this 'Target Membership' listing? |
You are right, it should display that only once. Strange, that it keeps showing up. But if the file is there and added to the project - you can ignore it. As an experiment - just create a new Cordova/Ionic project from scratch. To check if file in place - just open your iOS project in Xcode, find |
Seems so. Then you can ignore the message in the console. What it does - it's just adding file to the Xcode project. And if it's in there and in the target section - then it's fine. |
I finally got it working!
Also: for me as a non-frequent iOS user the following was not known to me:
Also worth knowing, but I think you already documented that, iOS only retrieves the apple-app-site-association file once and once only. If you make subsequent changes to the file it will not be detected. Fortunately, the first update of the app from the store that includes UL capabilities, will also retrieve the file. I would have hated to ask my users to de-install the app first... @nikDemyankov Thank you very much for your support and patience with me! |
Great! Thank you for the comments above :) This will be very helpful for others, who might struggle with UL. Actually, it is strange, that you had to add But nonetheless, good, that you solved it :) |
For the record: |
Thanks for the info :) |
👋 Hi! Thank you for your interest in this repo. 😢 We are not using nordnet/cordova-universal-links-plugin anymore, and we lack the manpower and the experience needed to maintain it. We are aware of the inconveniece that this may cause you. Feel free to use it as is, or create your own fork. 🔒 This will now be closed & locked. ℹ️ Please see #160 for more information. |
Now I have my app working with universal links in Android, the next challenge is to get iOS working.
I have associated domains configured for both development and distribution.
I have placed an apple-app-site-association in the root of my website. I have not signed it as current Apple docs state that this is not necessary for universal links. It is served with mime type application/json. The contents is:
I have submitted my app to itunesconnect and put it in the Internal Testing category.
As soon as I install (not open) the app through TestFlight I see the device do a request to my apple-app-site-association file.
However, the app is not opened from any link. I have tested from Safari, mail and pushbullet, but all of them just open a Safari window.
Do I really have to put the app into full production in order to get this to work, or have I missed some other crucial step?
The text was updated successfully, but these errors were encountered: