facebook connect for ios question authentication application id and secret - iphone

perhaps a stupid question, yet...
We're using the "new" ios facebook connect sdk (https://github.com/facebook/facebook-ios-sdk) and a few questions come to mind.
In the old sdk, you would have to pass a "secret key" (known only to you) in order to obtain a session so that you could use the facebook api, this made sense.
With the new sdk, all you need to pass is "Application Id" and then the user logs in, then he is able to post any message and it will appear as if my application (the facebook application identified by the application id) posted it.
This makes little sense to us, if someone obtains our application id (not mentioned to be a secret anywhere), he/she will (without any problem) have the ability to post as if he was the owner of our facebook application.
Can someone explain this and how this is prevented using this new SDK?
a few more issues we're unclear about are:
in the facebook application
settings, there is a choice between
"Native application" and "HTML5 /
mobile web" currently ours is set to
HTML5/Mobile web (which is the
default) what's the deal here?
perhaps this correlates to the
previous issue?
there are two more settings: "iOS Bundle ID" and
"iTunes App Store ID" it is again
unclear what these are used for.
Currently none of these 2 are set in
our app and we're able to submit to
user walls without a problem using
the "application id" only in our
iPhone app.
Any tips and hints appreciated!
thanx,
-tzurs

iOS Bundle ID is used to prevent that from happening. You specify the bundle id in your info.plst (e.g., com.your_company.your_app) so Facebook knows that your iPhone app is authorized to use your Facebook appication.
iTunes App Store ID is used to create a link from your Facebook application's page to your iPhone app on the app store.

Related

can people see Facebook IOS app on their facebook?

I've created an IOS app as a Facebook Developer. So my question:
Are people able to see the app when they go into their Facebook - like in the Browser? Or are Facebook IOS apps only something that you can see in the actual app on the iphone/iPad that I'm creating?
Depending on whether the Facebook developer configured a canvas facing site will show what the end user will see.
Any application made by a third party once set to public in app settings can be viewed by anyone.
If you app is made for iOS then either the user will see a misconfigured webpage or dialog asking whether the user wants to send to mobile. All of this of course depends on how the the developer of the application sets everything.
See the documentation for detailed information
https://developers.facebook.com/docs/facebook-login/v2.2

Facebook App Review Process apparently makes impossible to any Vuforia + Unity + FB Plugin app to be public

I have a problem with an iOS App using Vuforia and Unity with a valid Facebook Plugin, the problem comes not in the plugin itself (that works properly), but in the Facebook Review process to make the App public and let all users in.
Today doing tests on the finished app, I realized that when using a valid Facebook Plugin (or any other Facebook implementation) with an user that is not the Facebook User Owner of the app (in this case me), Facebook request you to go to "App Status and Review" to click on:
"Do you want to make this app and all its live features available to the general public? YES| NO". This was traditionally allowed to be clicked, but today it's not. The option is not allowed.
"Yes" would make the app accessible to everybody. But this option (YES) is not available a priori, because the App needs first to pass a Facebook review process, in particular a Facebook Review Process to determine if the App is in agreement with its policy. (So we have to pass two reviews: Apple and then Facebook)
The problem here is apparently it's impossible to a Vuforia-Unity App to pass this process. To pass the Facebook Review process you need to send them your App in one of this two available format:
sending the id to Apple Store App (that is impossible to do, you can not send App Store an unfinished app), or
sending them a file containing a Simulated Build (using Terminal to build the project in xcodebuild -arch i386 simulatorXX).
None of this available options provided by Facebook are possible to Unity-Vuforia, technically, so it's technically impossible to obtain the approval of the App. This is because:
App Store is not going to pass an App that is not working (the FB button won't work, so App Store is not going to allow us finish the process and they will reject). So you cannot provide an AppStore-id to the Facebook Review team.
As far as Facebook only receives "Simulated Builds" it would be impossible to a Vuforia Unity App to be accepted, this is because when you are using Unity + Vuforia you can not build a simulated build, is incompatible. So is impossible to fit this requirement.
My questions here to you to try to solve this are:
Did you have this problem and solved it previously?
Is there anyway to avoid the Facebook review?
Do you know how long does it take to Facebook do the review?
Can you think in anything else to try to solve this?
PS: I am using a Neatplug plugin to connect to Facebook.

iOS 6 the facebook server could not fulfill this access request invalid application

In some iPhone 5 devices we have an error when trying to call Facebook login:
The error is:
"the facebook server could not fulfill this access request invalid application id"
I many times checked that application id is specified correctly.
Strange, that on other devices same app is working correctly.
Please, could you help, what the reason of that?
All developers of a particular app, should be known to Facebook. While the application is in Sandbox mode (i.e. developer only access), all every user who want to use the Facebook platform, for testing/developing the application, will have to be added as a developer (as shown below) -
Just goto https://developers.facebook.com/apps/, and add the user, in the list of developers/admins.
More than likely the app is "sandboxed", so only developers have access. If this is the case you'll have to use a developer account on the iPhone.
Go to iOS settings > Facebook
Log out with your "personal" account
Log in with the developer account (to be safe us the dev account that you created the app with)
This worked for me.
I faced this problem. For me the issue was that I hadn't added the iOS platform for the app. Go to the Facebook developer page, then select your app. In the left nav bar go to settings. Then add platform. Ensure that your bundle identifier is correct. Then it should work.
If you have been testing with a sandbox facebook app and then receive this error when switching to the production app make sure you have published the app in the status & review tab.

Facebook Authorize not working on free version of app

I have a free and paid version of my app on itunes but as the free version has in app purchase I cant use the same bundle id across the two apps and therefore the only way I can see of adding facebook to the free app is having a second facebook app registered?
I have done this but for some reason when calling [facebook authorize: permissions] my app boots up the facebook app but returns straight away to my app, not getting in to any of the handleOpenUrl functions or even asking the user for permissions. The code is identical line by line to the paid version of my app with the only difference being the appID that is used. Any ideas what would cause this? Facebook did work on both apps until the recent updates.
After further playing around with this code I have found it works if I tell it to not use the FB App and to instead use safari authorisation. Still failing to see why I can use the app on one app but not another :s
Log in to developers.facebook.com and check your iOS bundle ID for your free app carefully. Make sure the bundle ID you tell Facebook is exactly what your app thinks it is. If it's not identical, the new Facebook app will not allow your app to authenticate.
You can have multiple iOS apps use the same Facebook app. Check this link..
https://developers.facebook.com/docs/mobile/ios/build/#multipleapps
There are three steps:
Add the additional bundle id in your apps "iOS Bundle ID" file in your faceBook app settings.
Then in your iOS apps, use the 'urlSchemeSuffix' option in the 'initWithAppId' method.
Modify the URL Schemes property in the info.plist.
The link explains it in detail. No need to register a 2nd app with Facebook.
Hope this helps.

iphone application id for facebook connect

In the advanced section of my facebook app that I use for posting feeds to a user's profile from an iphone app, theres a section to enter the "iPhone Application ID". And it says - "If you have an iPhone app using Connect, fill this in with your Apple-provided application ID."
I entered my app id. But when I post anything via the iphone fb connect, I don't see any sort of link to my app.
Am I missing something ?
Facebook developers connection gives an explanation. Basically when an app is placed on the app store, there is a unique number assigned to the app by Apple to identify it. This number is the ID they are requesting.
Got the same issue, just to check that you are using the correct ID, if I this is the link from iTunes:
http://itunes.apple.com/gb/app/whats-on-reading/id347859140?mt=8
then the bit that you use for the iPhone Application ID field in Facebook is:
346859140
Is that what you did? Did you solve this? I only did this a few hours ago so am hoping it is just the time it takes to replicate the changes on Facebook. Would be very interested to know how you got on and if your issue is solved.