Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Parse Gets a Refresh for iOS 8

Parse Gets a Refresh for iOS 8

Parse has announced its new SDK for iOS 8, an update to its Parse push service which now supports iOS 8 "silent" pushes and notification categories, and a new Parse Config API to store configuration parameters in the cloud to update apps on the fly.

Parse iOS 8 SDK

The Parse SDK has been updated, say Parse, with the goal of ensuring a better integration with iOS 8 and bringing performance and security improvements. Better integration is achieved through the usage of all the new APIs available in iOS 8. E.g., [PFGeoPoint geoPointForCurrentLocationInBackground:] improves on how it requests the appropriate permissions depending on the state of the app. Performance has been greatly improved, say Parse, when using Parse files, which are now uploaded up to 3 times faster and downloaded up to 35% faster than before. Finally, security has been improved by storing all sensitive information tied to PFUser in the system keychain.

Parse Push

iOS 8 brought several improvements to iOS notifications, including silent notification that are accepted by default and notification categories. In order to unlock the new iOS 8 functionality in an app, the only required steps are using the new registerUserNotificationSettings: API instead of the now deprecated registerForRemoteNotificationTypes: and implement the new UIApplicationDelegate method application:handleActionWithIdentifier...:completionHandler:.

Once notification categories have been registered, they can be sent via Parse Push service through the category option, which does not even require upgrading to the new Parse SDK.

Parse Config

Parse Config is a new feature available through the Parse dashboard that allows to store app configuration parameters that can be changed on the fly. This allows to deploy changes in apps without modifications to the app's binary, thus not requiring a new release. The biggest advantage that Parse Config offers over plainly storing configuration parameters in a PFObject is easy of use, say Parse. Indeed, when using PFObjects to store configuration parameters, developers have to manually cache this object to avoid waiting for a query to run on every app restart.

The new Parse Config API allows to retrieve configuration parameters through an immutable PFConfig dictionary that is automatically persisted by the SDK and retrieved with [PFConfig currentConfig], as shown in the following code snippet.

[PFConfig getConfigInBackgroundWithBlock:^(PFConfig *config, NSError *error) {
  NSArray *distanceOptions = config[@"searchDistanceOptions"];
  if (!distanceOptions) {
    // No config for distance options - fallback to the default ones
    distanceOptions = @[ @250.0, @1000.0, @2000.0, @5000.0 ];
  self.distanceOptions = distanceOptions;
  [self.tableView reloadData];

Since PFConfig is retrieved asynchronously, while the fetch occurs in the background, the last-held PFConfig instance is automatically used.

Parse is a Backend-as-a-Service provider that supports multiple mobile platforms, including iOS, Android, and Windows Phone. Parse main products are a schemaless database-as-a-service, a push notification service, and an analytics service. Facebook acquired Parse in 2013.

Rate this Article