Facebook SDK - iOS - Fail to share URL (Error 102) - ios

I am trying to integrate a simple URL Share on my App, following the dedicated Facebook tutorial (link)
On my app, I simply click on a button, which displays a dialog where I can type in a comment.
This part works find. Yet, when I click on "Post", I get the following error :
Error Domain=com.facebook.Facebook.platform Code=102 "The operation couldn’t be completed. (com.facebook.Facebook.platform error 102.)" UserInfo=0x14dd1a10 {error_message=Failed to authenticate the application because of app name mismatch. Please check the application name configured by the dialog., app_id=000000, error_code=102}
(In this message, I just replaced with zeroes the app_id I got from the Facebook developer page.)
On the Facebook app settings, I set the following as such :
"Display name" : the same name as the app name
"Bundle ID" with the string return by [[NSBundle mainBundle] bundleIdentifier];
The app is "live" (not in sandbox)
"Deep Linking" and "Connect to FB" : both activated
When I save my settings on the FB dev page, I get a warning saying that I did not set an AppStore identifier (which is not yet available since I am developing the app).
Can you please tell me the little thing that I did not do correctly ?
Thanks in advance for your reply.
I'll be happy to provide you with more info if necessary.

This usually comes from you setting the FacebookDisplayName in your .plist, but what you set there didn't match the name of your app in your app settings on Facebook.
The value you give in FacebookDisplayName must match what you have set on Facebook.

Check Following if error 102 comes
FacebookDisplayName is set properly and correct in plist URL Scheme
fbxxxxxxxxxxx is added in the plist
FacebookAppID is set correctly in plist file
in Status & Review section Make sure you have "Do you want to make this app and all its live features available to the general public?" make as YES (By default it is set as No)

For me none of this solutions worked. It turned out I just had to delete facebookDisplayName record from info.plist. Stranged but it worked

There is also a problem with diacritic signs, you can not use it in FacebookDisplayName... for example č, ž, š etc. If you write all without diacritics, it works fine.

I agree with #user3170877. it can't be used like Japan letter and Korean. i recommend only english to use.

Login to Facebook Developer account and check Status is live or in Development. If it is in Development then change it to live. This worked for me.

If none of the other answers fixed this problem for you, one last thing to check is the Bundle ID in your Facebook App settings.
I had this problem for my iOS app that was using a different bundle identifier depending on the build configuration I used.
You can specify several Bundle IDs in your Facebook App settings.

If your Facebook app status is "development and unavailable to the public" will caused same result.
You may want to change it to public under "App Review" on the Facebook app menu. Or you need to login Facebook as role "Administrators", "Developers" or "Testers"

Related

Custom URL Scheme for Facebook Login (fb(appID)://) says "Safari cannot open the page because address is invalid" EVEN after editing info.plist

Ok so I have this annoying problem which I was never able to fix. I'm trying to add FB Login to my app and I modified the Info.plist file the URL Suffix to fb(AppID) (where AppID is the ID number) as well as the FacebookAppID, AND I also added on Facebook developers the "URL Scheme suffix (optional)" thingy, and it STILL doesn't work. Keeps popping that error. I tried on all my iOS devices and on various iOS Versions and does not work on any of these too. I was always trying to enter my custom URL scheme: fb(appID):// (where "AppID" is the ID number) and it never worked. How can I register my custom URL scheme and how to make it valid?? Also I tried other URL schemes from other apps' info.plist and also their fb(AppID):// one too and they worked and said "Open this page in (app)?", only my own custom URL scheme won't work!! I haven't found any solution to this error so please give me a solution anyone thx!

Can not add iOS bundle identifier

I have seen other similar posts for this and no response from LinkedIn yet (and they direct you here for support). I have an app for both iOS & Android, com.witopia.securemyemail - I am using the package name for Android, but whenever I try to add the iOS bundle identifier (of the same name), I receive: "Your changes could not be saved right now, please try again." We have checked with all of our developers and can not find this name used any place else. Is there any way we can look this up and see if it's being used by some other account? Or a way to obtain more detailed error reporting as to the issue with the name? We are using the same bundle identifier in xCode as well as iTunes Connect for our App so I doubt some other developer has taken it, but who knows...
Error:- "Your changes could not be saved right now, please try again." - LinkedIn Developer Account.
I also created the same for Android and raised to Linkedin help center but after so many conversations finally, I got the reply which is in a screenshot.
I am also unable to update my application package name & hash in the LinkedIn Developer.
We have to wait until this issue not will be solved by a LinkedIn technical team.

View on appstore option not available on appstoreconnect

Earlier there was an option as "View on AppStore" in itunesconnect to get the app url before publishing the app. Now it seems that apple has removed it. Anyone can help me getting the share url for my newly created app in AppStoreConnect. Thanks in Advance.
It something like
https://itunes.apple.com/{countryCode}/app/{appName}/id{id_Here}?mt=8
for spaces in name replace with - suppose
App name : wer dee
country code : us
id:5000345
https://itunes.apple.com/us/app/wer-dee/id5000345?mt=8

Firebase dynamic link not opening the app iOS

I have developed & installed an iOS app locally on my device.
And have set custom scheme in the info.plist as mydlink
Set associated domains as weel: applinks:<myapp>.app.goo.gl
Created dynamic link on firebase as:
https://<myapp>.app.goo.gl/?link=http://<mysite.com>/&ibi=<app bundle id>&ius=mydlink&ifl=https://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id%3D<app store id>%26mt%3D8&pt=<app store id>
When I open or click on dynamic link, it opens app page in the "App Store" app and not opening app itself though its installed.
What am I missing here?
sometimes we make a mistake in Associated Domains entitlements. There have to be no spaces
applinks:mydomain.page.link
If you are on iOS 9, universal links will be used. Universal links don't work in a lot of cases, like:
If you use a simulator
If you try to open the link directly in safari on a device (typing it into the address field in the browser)
I spent a lot of time trying this and could never get it to work on a simulator in a reliable way. What I end up doing is emailing the link to me and opening it from Inbox. Then it works every time!
I had an issue using iOS 14, running on device in debug mode.
Link has always redirected me to the AppStore app not to my app.
The solution was to enable "Associated Domains Development" on iPhone Settings>Developer>Associated Domains Development
(found it here: https://stackoverflow.com/a/63939770/6689321 ).
I'm sorry for the late reply - I hope your issue has been resolved and that this is helpful to others who may be experiencing the same problem.
There could actually be one or more issues here for iOS 9+; Dynamic Links relies on Apple's Universal Links to open the app on iOS 9+ and these suggestions are aimed at resolving issues with Universal Links and Firebase and have nothing to do with the SDK directly.
Verify that the assoc file is correct at https://app_id.app.goo.gl/apple-app-site-association - it should look similar to https://maps.app.goo.gl/apple-app-site-association but with only one element in "details."
As pointed out by another answer, verify that your team ID is properly set in the Firebase console.
If you've long-pressed the link and then clicked "Open in Safari" or you have clicked the "goo.gl>" button on the status bar of your app after the app opens via a Universal Link, then iOS defaults to opening Universal Links in Safari. This can be fixed by pulling down on the paged opened in Safari and clicking "Open in App" (or similar) on the smart banner.
The "ibi" parameter is not involved in opening the app in a post-install click on iOS 9+, but is in prior versions when the "ius" param is not set.
Regarding iOS 8, can you try running the app and then clicking a link after the app is installed? On versions prior to iOS 9, you can test by copy/pasting the link into safari.
https://firebase.google.com/docs/dynamic-links/ios
Just in case there is still someone out there having this issue, please note the following
Dynamic links now opens on simulator, please copy your link and paste on safari in your emulator.
Chrome and safari opens dynamic differently, safari uses only universal linking while chrome uses both url scheme and universal linking to open dynamic link. Ultimately you should try to get dynamic linking opening via universal link in your app.
If your dynamic link routes to App Store instead of opening your app. there is an issue with your universal link. You can temporarily test using chrome.
To set up opening dynamic link via universal link, please check the following
Ensure your Team id is correctly set In firebase console, get your team id from your membership detail in https://developer.apple.com
Ensure your domain is listed in your associated domain as shown below, no space between the domain
Ensure Associated domain is turned on in your apple developer account
if you are using a custom domain, ensure you add it to the info.plist as shown below.
I make a mistake that not setup Associated Domains for DEBUG, so make sure you setup Associated Domains all both DEBUG & RELEASE
I experienced same problem. Interestingly if you open the dynamic link in Chrome, app starts directly and successfully. But in Safari always it tries to open AppStore although the app is installed. I have no idea why Safari doesn't work in this case.
If none of the above workarounds work for you, please check if you have added activitycontinuation in associated domains or not.
Firebase dynamic links were not working for us (on iOS9 where they use universal links) due to a problem in Firebase's assumptions during setup. Here's how we fixed the problem on our app:
Firebase asks for your "Team ID" when adding your iOS app to Firebase Console Project Settings, and it assumes that your unique app ID will be in the format TeamID.com.foo.bar
However, in our case, that was NOT our unique app ID. When I looked at our provisioning profile (on developer.apple.com I found our provisioning profile and clicked "edit"), I saw that our unique app ID was actually SomethingElse.com.foo.bar
I had to go into Firebase Console and enter that "SomethingElse" in the spot where it asked for Team ID, even though that was NOT our team ID. Once I made that change, Firebase Dynamic Links started working correctly.
It appears Firebase is making an assumption that your unique app ID will always start with your Team ID, which is apparently not always the case.
Note that changing your Team ID can take a significant amount of time to take effect. You can see that the change has happened by checking the appropriate link for your app_id (https://app_id.app.goo.gl/apple-app-site-association).
After integrating Firebase Dynamic links, the sample link started working immediately on a device with iOS 8. For iOS 9 devices Universal links mechanism is used, as mentioned by other answers. This means Apple needs to update the entitlement data used to verify deep link dual authentication. This may take 48 hours, according to Apple's App Search API Validation Tool.
There are more Universal links troubleshooting tips here.
Experienced the same problem.
The solution for me was to use the
Identifiers -> App IDs -> 'my.app.ID' -> Prefix
You can find it on: https://developer.apple.com/account/ios/identifier/bundle
Instead of the 'DevelopmentTeam' number from the .pbxproj which I used and add it to the Team ID for my iOS app in the Firebase console.
And don't forget to download and add a new .plist to the project.
i had same issue with latest flutter sdk and firebase dynamic links plugin.
Tried all solutions the only fix was to manually insert com.apple.developer.associated-domains key to ios/Runner/Running.entitlements file
<key>com.apple.developer.associated-domains</key>
<array>
<string>applinks:abc.page.link</string>
</array>
I have great news.
I always hear that it's IMPOSSIBLE to test a dynamic link on simulator.
But now WE CAN test firebase dynamic link on simulator
https://stackoverflow.com/a/56385506/6273003
When link is open in safari, It shows a "open (project name)"button. If this button is pressed for 2-3 second, It asks for opening that into different apps for first time.It also shows your app name. If you select your app, It opens your app. After doing that if you again open this link and press button in safari, it always work fine.
This fixed the problem for me.
After completing the setup in Firebase and in the Xcode project.
Add below code inside SceneDelegate instead AppDelegate.
func scene(_ scene: UIScene, continue userActivity: NSUserActivity) {
if let incomingURL = userActivity.webpageURL {
print("Incoming URL is \(incomingURL)")
let linkHandled = DynamicLinks.dynamicLinks().handleUniversalLink(incomingURL) { (dynamicLink, error) in
guard error == nil else{
print("Found an error! \(error!.localizedDescription)")
return
}
if let dynamicLink = dynamicLink {
self.handleIncomingDynamicLink(dynamicLink)
}
}
}
Set on your Xcode project the correct form to declare Associated Domain, you must to include applinks:
Make sure you have a Team Id set in the firebase console for you app. (you will then need to download and import the .plist file).
This fixed the problem for me.
We had a similar problem. The issue in our case was that the software that generated the emails with the links generated a new link that had a 304-redirect to our deep link. This did not work in Safari (but in Chrome).
Check that your deep link is actually the first link opened when you click the link in the email.
i had same case and it fixed with after defined ios app on deeplink url;
Dynamic Links -> choose your link -> Edit
make sure that you have defined ios app;
I had the problem, that the AASA file was different at the locations
[domain]/.well-known/apple-app-site-association
[domain]/apple-app-site-association
The validator from branch always checks the file on the non well known path. It was confusing because it always said it was all fine even though is was not.
For Firebase, check your hosting and search in the public dir for a .well-known folder. In my case, I could just delete it, run firebase deploy --only hosting and let Firebase generate all AASA files for me.
https://branch.io/resources/aasa-validator/
If you are sure all your dynamic links config in xcode is correct, link is good, but it still opens Appstore you can try this trick:
Copy the link and paste it into the notes app
Long press on the link in notes to see context menu
If you see button "Open in YourAppName" - try pressing it.
please check associated domains as well: applinks:.app.goo.gl is correct or not? and Dynamic link is easily work on iOS Simulater , I don't get any issues.

anypic facebook login error

so, i followed the guidelines that is introduced on anypic github page.
1. I put my pplication ID and client key in appdelegate.m
2. I made my app named 'app1'on both facebook and parse.
3. I put my facebook app ID in info.plist
4. i also wrote the URL scheme in info.plist
5. I put my facebook app id and secret key in my parse account .
6.i also followed all the other changes including cloud code, js and etc.
7. I also submitted my anypic's bundle identifier to facebook dashboard.
(which was com.parse.anypic)
However when i run the app on my simulator, whenever i press the facebook button , the safari takes me to a web page saying 'the settings made by the developer is not proper to login(?)' well i'm not sure what this sentence actually means in english because i use different language on my virtual machine. Anyways if anyone knows anything about this problem please give me an answer..
Please check that you have made the Facebook app available to Public in your App Settings page.
Also You need to insert your platform details, for which platform you are developing your app and your development machine's keyhash. Make sure the key which you are using to debug your app is same whose keyhash value you enter on Facebook developer console.

Resources