4

I am an ISV that wants to ship one iOS app that could work for many SFDC customers.

I just read the newly released Salesforce Mobile SDK Development Guide (published July 30, 2013). The SDK uses Oauth2, which needs a Salesforce "connected app". So I need to generate a "consumer key" which I then pass to forceios to build my native Xcode app.

Does this mean I have to rebuild my iOS app for each sfdc customer that would use my native iOS app? Or is there a way I can develop and publish ONE iOS native app that can be used across different sfdc customers?

I saw the topic about "How is it that some OAuth-authenticated apps don't require an Org to create a Connect App in order to be installed?" but want to clarify that I can use the new Mobile SDK to write ONE iOS mobile app that works against multiple sfdc customers.

3 Answers 3

4

The same question was answered on this link by Kevin Hawkins who's the Salesforce Mobile iOS SDK lead.

http://boards.developerforce.com/t5/Mobile/Deploy-Hybrid-Touch-to-Apple-and-Salesforce-AppStore/m-p/644159#M1581

  1. Your Connected App will work across all organizations in Production and Sandbox, subject to org admin-configured restrictions, etc. So you can configure this once as a developer, and it should work for all of your customers.

  2. Every Mobile SDK app has the ability for the user to configure the login host at runtime. On iOS, this is done through the app's settings in the Settings app, and for Android it's done through a menu option on the login screen. So your users can set their login host to be whatever works for their use case.

1
  • thanks for the link. i will continue the thread on that developerforce.com thread.
    – Peter L.
    Aug 9, 2013 at 5:38
1

You don't need to build different IOS apps for each customer .All the customers can be created as User in salesforce instance and you can create connected app as the system admin.The other users will just need to use there salesforce credentials(If not SSO ) to log in .

Also please note that you can distribute your App through appexchange or put on apple app store or use test flight to distribute if you have valid Apple Id

4
  • I would like clarify your statement "the other users will just need to use there [sic] salesforce credentials(if not SSO) to login". Do you mean that a salesforce.com user pass in his username/password (and maybe the 24-character security token)? I thought the iOS app needs to pass the "consumer key" to salesforce.com. Or is this consumer key only needed if you use oauth?
    – Peter L.
    Aug 3, 2013 at 3:56
  • salesforce users will just key in there username and password and he will be able to authenticate .The consumer key is static for an org and its already fed into the local mobile app code for the instance that the end user will use .Its just one time static value and let me clarify one more thing that dont think that each user has there own consumer key.Once you establish a connected app a consumer key is autogenerated and constant for your org.Its user independent Aug 3, 2013 at 4:39
  • And what if we need to update some params of this connected app created many years ago in dev org, but no one remember what dev org was used? Is there any chance to find this dev org by only having consumerKey and consumerSecret of connected app itself used in mobile app?
    – wesaw
    Oct 5, 2021 at 16:45
  • You can reach to support to see if they can help! But I usually recommend if you have a connected app just create a managed package for the connected so org never expires Oct 5, 2021 at 16:49
0

Connected App settings only help to uniquely identify any remote app (in this case an iOS app) when it requests access to salesforce on behalf of a salesforce user. This salesforce user could reside in any customer org irrespective of where the Connected App settings were created.

So to answer your question, you won't need to rebuild the iOS app for each customer. The same iOS app with one Connected App setting will work for all customer orgs.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .