You would be surprised to learn how many apps on the App store access the core data they require over some sort of cloud service. The back-end hosting this data can vary quite a bit, from iCloud, a hosted CRM system or corporate database.
As long as these services have allowed for access via an open standard, it’s possible to connect our iOS Apps to them.
- Overview: First off, you will need to get to grips with all the different types of services and scenarios that are available to you to host your data.
- Understanding iCloud: Apple’s iCloud has some great features available which will allow you to store your app’s data in the cloud. By using the APIs available and a ton of other features, you can create a seamless experience across iCloud enabled devices.
There are 3 kinds of storage available within iCloud, and you will need to know which one to use to suit you app, as each storage option has its own set of capabilities.
- Key-Value Storage: This is can be used for small amounts of data to store discrete values such as app preferences and configuration. Key Value Storage is similar to local user defaults database except each value will be available in every instance of your app.
- iCloud and UIDocument: Since iOS 5, you can now store documents and other data in your user’s iCloud accounts by using UIDocument. This should be used if you want to manage data that is important to your app and user.
- iCloud and Core Data: By utilising iCloud Core Data storage, you can make the content in a single window or database app available across all of your user’s devices.
Accessing Third Party Services:
- RSS: You can use RSS, which is a simple way of fetching data from a web based server, whether it’s textual information or images. As a developer, you will need to learn how to use the Classes that Apple offer to fetch RSS feeds.
- Restful services: You will need to know how to access data using restful APIs, which is one of the most common ways to access data remotely.
- JSON: JSON is the modern way of accessing remote data due to the elegant way it’s implemented and the lightweight payloads it produces. You need to know how to access remote data using JSON.
Other Services & Security:
- Web Services: Apple have recently introduced the NSURLSession framework, which is a suite of classes that has replaced NSURLConnection as the preferred method of networking and can now be used to access web services.
- Push Notifications : To let your users know new messages, updates or other information, you will need to know how add “push notifications” to your app.
- Authentication: Most remote data will require some sort of authentication. You should know the main methods used to achieve this, including user name/passwords and tokens.
- Keychain: Once you have mastered the authentication process you will need to know how to use Apple’s Keychain service and how to use it to secure save your users’ credentials locally.
- Security: Finally, security is a big issue, and any iOS App developer will need to understand both over the air security and local security to ensure the validity of your app.