ios Firebase Dynamic Link not opening installed app - ios

I've looked at other previous questions about this topic, and I haven't found the solution for my problem.
I've followed this Getting started with Firebase Dynamic Links on iOS, however if I click on the universal link for testing, https://appName.page.link, I get the following message:
Invalid Dynamic Link
Requested URL (https://appName.page.link/) must be a parsable and complete DynamicLink.
If you are the developer of this app, ensure that your Dynamic Links domain is correctly configured and that the path component of this URL is valid
The previous message makes me think that the created page created by Firebase is created yet, however when I visit the page:
https://appName.page.link/apple-app-site-association, I get the following data:
{"applinks":{"apps":[],"details":[{"appID":"TeamID.com.example.appName","paths":["NOT /_/*","/*"]}]}}
This means that the page has been successfully created.
I have verified that the TeamID has been set properly set in the Firebase settings, and also that the TeamID is the same from XCode and from the Apple developer account.
The URLSchemes, set in Xcode is com.example.appName and inside the Signing & Capabilities in the Associated Domains has the domain: applinks:appName.page.link
Is there anything that I'm missing to configure?

I ran into this issue as well following the video. If you continue in the video he mentions that there is a bug for iOS where you might need to completely uninstall the app, restart your device, and then reinstall the app.
for reference:
https://youtu.be/KLBjAg6HvG0?t=532

Did you created dynamic link here? Firebase > Dynamic Links > New Dynamic Link. Your link should looks like https://AppName.page.link/shareLink

I think this behavior is expected, clicking on the URL prefix (https://appName.page.link) without any path will not take the user to the app since the configurations (deep linking, campaign tracking, platform behavior, etc) is not set up yet.
But once you create a new link along with the prefix (e.g. https://appName.page.link/createdLink), it should work properly.

The bit that tripped me up was that I added "Associated Domains" to the "Release" tab instead of the "All" tab. So when I was running on my app, I'd also get the Invalid Dynamic Link error.

Related

Bundle ID not listed App store connect new app list (Xcode 11.4.1)

I have created a developer account for two weeks, and now I want to submit my first App. However, when I click new app, the bundle ID list does NOT show the project I would like to submit, but It do show some projects I used to practice. I have look up a variety of solutions on internet, including sign out and log in again, or clean up my Safari data. I have suspected some reason, but I'm not quite sure if it right?
First doubt : some SDK import?
The Bundle ID shows on the list are some small project I used to practice when I was a beginner. Recently, I have tried to use some SDK like Facebook SDK and Firebase. Facebook and Firebase works fine on my simulator and iPhone devices. So I'm not quite think this might be the reason, nut just type on in case I missed something
Second doubt : Xcode version?
When I tried to using Firebase, since iOS 13.3.1 seems not to support, so I update my iPhone to iOS 13.4.1. However, the Xcode should also be updated to 11.4.1, otherwise it cannot connect to my devices. When I look up the bundle IDs listed on App Store Connect, I think those projects are created before I updated Xcode. The project created after updated not showed on the list. But I have created too many projects to practice, so I'm not quite sure I remembered right. I suspect this might be the reason, anyone else met the same problem after updated Xcode?
By the way, there is also a strange thing confused me. I have deleted some projects I used to practiced on my MAC, but they stilled shown on the list... I have manually deleted on my Apple Developer Web.
1) Go to https://developer.apple.com/account and set up the app with its explicit bundle ID.
2) Then go to https://appstoreconnect.apple.com > "Create new app" > Select the previously created bundle ID.
This does not really have anything to do with SDK usage or Xcode setup. (Automatic code signing might do some steps for you, but the most bullet-proof way is mentioned above)

How to sign BoxContentSDK.framework?

I used Carthage to build the BoxContentSDK.framework. Everything runs in the simulator and on device. When I go to submit to the app store, I get the error that the BoxContentSDK.framework is not signed. The framework is added in the embed frameworks section of the project and code sign on copy is set. The logs say: BoxContentSDK.framework: replacing existing signature, then BoxContentSDK.framework: code object is not signed at all
Any help appreciated.
Found the answer. You need to do additional work besides just adding the framework. The BOX SDK page links to the wrong page. Here is the correct page:
https://github.com/Carthage/Carthage/blob/5fd867c4895b4f59d70181dec169a1644f4430e3/README.md#if-youre-building-for-ios

SiriKit: Cannot reply to a message

I just added the Intents Extension to my Project, and decided to try it out using the example code that is added by default.
I select the Siri target, run on the device, Siri pops up and I start with: "Search messages in [MyApp]".
Method handleSearchForMessages is executed in IntentHandler.m and Siri responds You have a message from Sarah.
After reading the message, Siri asks Would you like to reply?
But when I answer Yes, I get:
I don't see an app for that. You'll need to download one.
The weird thing is that when I try the same on a brand new Project, it works, even without enabling the capabilities.
I really don't know why in my project works the part of searching messages, but not the part of replying.
Of course in the Info.plist I have the 3 default Intents for messaging.
Thanks
Alright I kinda solved the issue or at least found a workaround:
I have 2 targets, one for PROD and other for Staging environment.
The display name of the app in both targets are same, but matches only the name of the target for PROD.
The Intents Extension was embed in the Staging Target, where I was getting the error mentioned above.
However, I tried exactly the same directly on the PROD target and it worked.
Provisioning profile and capabilities are same for both targets, so I assume is related to the mismatch between the name of the app and the name of the target built

Ionic iOS App Error - Custom Scheme URIs are not allowed for 'WEB' client type

I am using this plugin.
https://github.com/EddyVerbruggen/cordova-plugin-googleplus
The implementation works fine for android. But google sign in on iOS opens safari webview and throws 400 invalid_request.
I am using the ios client id and reverse client id generated on google developer console.
Anyways to debug or know what the issue is?
The usual cause of this error is having an incorrect REVERSE_CLIENT_ID. Double check that you have the REVERSE_CLIENT_ID from the plist file downloaded when you set up the iOS application registration on the Google developer console. Note that if you got it wrong, changing this is difficult, as it gets copied into various locations and won't update automatically if you just try to change it in config.xml. When I mistakenly used my Android client ID to set up the plugin, I found that as well as config.xml I also needed to change the top level package.json file, and the <appname>-Info.plist in the platforms/ios directory in order to get the correct ID used.

Can't download GoogleService-Info.plist file

I'm trying to setup Google Analytics for my new iOS app, when following the instructions here.
It instructs me to click the "Get A Configuration File" button, but that button just sends me to another page that has a spinning, nothing ever happens. I already have a property setup in Analytics for web and a view setup for mobile.
Can anyone share the GoogleService-Info.plist file with me so I can attempt to manually fill in the details of the file and add it to my project?
It happened with me also. If you close everything and follow that link it worked for me next time. You can try to do that. Below is the link of sample plist file, of course I replaced tracking id, bundle id and app id to strings from original values. Hope it helps.
Sample Google Plist file
Generally in iOS
1) Create your project in Firebase console https://console.firebase.google.com
Click add project and follow steps.
2) Now open this link to get GoogleService-Info.plist file
https://developers.google.com/mobile/add
-->Click Get Started
-->Select your project
Ex: CloudFirestoreSwift
--> Now select domain Ex: iOS
-->Now add app bundle id then GoogleService-Info.plist file will be generate, download it and complete the steps if required.
NOTE: Please don't change file name. It's must be GoogleService-Info.plist
If you already generated GoogleService-Info.plist file. Now select your project and go project settings.
--> Go General tab, you can find GoogleService-Info.plist file here download it.
Steps for getting configuration if your first time login to google developer account.
1. Open google developer console.
2. Login to developer console.
3. Create project with valid name.
4. Enable google analytics.
5. Then get the configuration file.
The download link is not always immediately visible and you have to scroll up to get it, I happen to press next before downloading and I missed the opportunity to download the file.
I prefer the automatically generated file as I am lazy (aren't we all)
So, follow these steps
Go to https://developers.google.com/analytics/devguides/collection/ios/v3/
Scroll down to Get a configuration file
When prompted for the app name and bundle Id, just use the drop down menu and you'll find your previously created app details there.
Proceed to the next screen Continue to: Choose and Configure Services
Select your service, note that your previously selected ones will have a green arrow (Analytics in the case below)
Select Generate configuration file
You'll be given an opportunity to download the file again.
Voila!
You need to login on https://console.developers.google.com create your first application, then go back to https://developers.google.com/mobile/add the website will now work correctly.
Installing Ignore X-Frame headers plugin on Chrome made this bug vanish
Same here, I got following invalid json file:
)]}'
{"status":401,"message":"Invalid authuser parameter"}
and that is resolved by clearing cookies on google.com on your browser.
Thanks to Sanjana I decided to look at Google's web code and found they have an X-Frame error.
So the url you can visit is https://accounts.google.com/ServiceLogin?service=cloudconsole&osid=1&passiv…collection/ios/v3/app?configured%253Dtrue&hl=en#add-config&cntlbl=Continue

Resources