Coming back to work after the Christmas break is rarely easy, but thanks to a late December announcement from the Salesforce Mobile SDK team, there’s already been cause for excitement as we look ahead to the rest of 2017! That’s right, the Salesforce Mobile SDK 5 has now been released for iOS, Android, and Cordova.
The Salesforce Mobile SDK allows developers to create both native and hybrid apps, for iOS and Android, to mobilise their Salesforce organisation. At MobileCaddy, we enhance and leverage the Salesforce Mobile SDK to help you rapidly build business critical mobile applications, and also provide you with an environment to support and manage your apps and users with ease. For more insight into how this works, read our case study on how we helped Diesel achieve mobile app success.
What are the Major Changes?
iOS 10 and Xcode 8 support – Released back in September 2016, iOS 10 is Apple’s latest iOS version. With a reported adoption rate of 64% in November, keeping up with support of the latest OS version is very important
Android Nougat support – Android N (API level 25), was released back in August 2016 and is the latest version of the Android OS, bringing improved security and features
WKWebView replaces UIWebView –WKWebView was released in iOS 8 as a replacement for UIWebView, and brings with it more capable memory handling, reduced CPU load, and a whole lot more, all of which should add up to an improved user experience when using hybrid apps
New APIs that allow hybrid developers to create their own named databases
Cordova 4.3.0 and 6.1.0 support
Full App Transport Support (ATS) server compatibility – Apple requires that all network calls happen over HTTPS, a welcome boost to communication security
Dropped support for iOS 8 – As with many upgrades come dropped support for older versions. SDK 5 now supports iOS 9 at a minimum.
For the full set of release notes, and to download the Mobile SDK, take a look at the Salesforce Mobile SDK repo on Github for iOS, Android, or Cordova.
What do MobileCaddy Customers Need to Know?
Current MobileCaddy customers and users don’t need to do anything for the time being, your apps will still continue to work and function as you expect. But it’s a good idea if you’re a Salesforce mobile developer who utilises the Mobile SDK to check for any issues or broken functionality, by replacing your current SDK version with the new SDK 5, and also look at how you can leverage the new features and improvements that SDK 5 brings.
Keep an eye out on our main MobileCaddy Blog for our next post on the new Mobile SDK 5, or visit our developer documentation to get started with the MobileCaddy platform to build smarter and better Salesforce mobile applications.
Following the v1.0.0-Beta.14 upgrade you might have noticed that, when running on an Android device, your applications tabs are now aligned to the top of the screen rather than the bottom. If you’d like to have it so that you still have bottom aligned tabs then you need to specify an extra line of config. We’ll detail here what you need to do, and give you some background (and links) as to why this change has occurred.
Ionic Tabs : Android / Ionic 1.0.0-Beta.13
Here you can see the tabs are at the bottom, just as with iOS.
Ionic Tabs : Android / Ionic 1.0.0-Beta.14
And here you can see the tabs are at the top. This is how tabs will look on an Android device by default.
We have put together a quick CodePen of this in action. It was forked from Ionic’s CodePen for tabs, based on their nightly version so should be up-to-date. To see it in action, as if you were on an Android Device then you can use Google Chrome’s Device Mode to emulate it. To see how the tabs look before the extra config, then do the same with Ionic’s vanilla codepen.
When running up an app built with the Salesforce Mobile SDK there is an option to login to a custom domain. This is useful when testing against a sandbox or developer environment. The option, when running on an Android device, is accessible via the Change Server menu item which is available via the hardware menu button.
The issue comes though if your device doesn’t have a hardware button… what then?
If an acceptable option for you is to have this custom domain hard-coded (so that it cant be changed) then you can modify some code to use your defined custom domain as the default. It is as easy as replacing a single line in one file… so let’s have a look. In the below I have commented out one line and replaced it, and in my example I’m setting the default domain to https://test.salesforce.com (as in my case I’m testing against a sandbox environment).