Salesforce.com Mobile SDK for iOS
You have arrived at the source repository for the Salesforce Mobile SDK for iOS. Welcome! Starting with our 2.0 release, there are now three ways you can choose to work with the Mobile SDK:
- If you'd like to work with the source code of the SDK itself, you've come to the right place! You can browse sample app source code and debug down through the layers to get a feel for how everything works under the covers. Read on for instructions on how to get started with the SDK in your development environment.
- If you're just eager to start developing your own new application, the quickest way is to use our npm binary distribution package, called forceios, which is hosted on npmjs.org. Getting started is as simple as installing the npm package and launching your template app. You'll find more details on the forceios package page.
Installation (do this first - really)
Working with this repository requires working with git. Any workflow that leaves you with a functioning git clone of this repository should set you up for success. Downloading the ZIP file from GitHub, on the other hand, is likely to put you at a dead end.
Setting up the repo
First, clone the repo:
- Open the Terminal App
cdto the parent directory where the repo directory will live
git clone https://github.com/forcedotcom/SalesforceMobileSDK-iOS.git
After cloning the repo:
This script pulls the submodule dependencies from GitHub, to finalize setup of the workspace. You can then work with the Mobile SDK by opening
SalesforceMobileSDK.xcworkspace from Xcode.
See build.md for information on generating binary distributions and app templates.
The Salesforce Mobile SDK for iOS requires iOS 9.0 or greater. The install.sh script checks for this, and aborts if the configured SDK version is incorrect. Building from the command line has been tested using ant 1.8. Older versions might work, but we recommend using the latest version of ant.
If you have problems building any of the projects, take a look at the online FAQ for troubleshooting tips.
What's New in 5.0
OS Version Support
- iOS 10.0 is fully supported in Mobile SDK 5.0.
- The minimum supported version of Xcode is now Xcode 8.
- The minimum supported version of iOS platform is now iOS 9.0.
Other iOS Platform Enhancements
- Hybrid apps built on Mobile SDK will now use WKWebView instead of UIWebView.
- Extensions are now fully supported.
- Salesforce servers are now fully ATS compliant. As a result, we have removed ATS exceptions from Mobile SDK apps.
- We have added new APIs that allow hybrid developers to create their own named databases.
- We now allow sync down/refresh of data stored in soups by specifying the fields to sync.
- smartsync.js now uses native promises instead of jQuery.
Hybrid Networking Enhancements
- We have replaced forcetk.mobilesdk.js with force.js. Networking in hybrid apps is now handled natively through a new plugin (com.salesforce.plugin.network). As a result, session token refresh happens automatically.
- We've updated React Native to version 0.35.0.
- We've updated Cordova to version 4.3.0.
- We've added a new library in Mobile SDK 5.0 called SalesforceAnalytics. This enables us to collect non-sensitive data on which features in Mobile SDK are being used. It is turned on by default, but can be turned off if required.
Other Technical Improvements
- We now support rich app templates (see forceios for more details).
- Improvements to sample apps.
- Various bug fixes.
Check http://developer.force.com/mobilesdk for additional articles and tutorials.
The Salesforce Mobile SDK provides the essential libraries for quickly building native mobile apps that interact with the Salesforce cloud platform. The OAuth2 library abstracts away the complexity of securely storing the refresh token or fetching a new session ID when it expires. The SDK also provides Objective-C wrappers for the Salesforce REST API, making it easy to retrieve and manipulate data.
The Mobile SDK provides the means to generate your new app from a template, to quickly construct the foundation of native and hybrid applications. These apps come with a fully functioning demo app, as well as configurable Settings bundles that allow the user to log out of the app or switch between Production and Sandbox orgs. See build.md for more information on how to generate and use the templates.
Native App Template For native apps that need to access the Salesforce REST API, create your app using the native template. The template includes a default AppDelegate implementation that you can customize to perform any app-specific interaction.
- Salesforce Mobile SDK Development Guide
- SalesforceAnalytics Library Reference
- SalesforceSDKCore Library Reference
- SmartStore Library Reference
- SmartSync Library Reference
- SalesforceHybridSDK Library Reference
- SalesforceReact Library Reference
- Mobile SDK Development Guide
If you would like to make suggestions, have questions, or encounter any issues, we'd love to hear from you. Post any feedback you have on our Google+ community.