Front-End Web & Mobile

Understanding the Frameworks of the AWS SDK for iOS

Version 2 of the AWS Mobile SDK

  • This article and sample apply to Version 1 of the AWS Mobile SDK. If you are building new apps, we recommend you use Version 2. For details, please visit the AWS Mobile SDK page.
  • This content is being maintained for historical reference.

Why all the Frameworks?

The AWS SDK for iOS now includes separate frameworks for each AWS service supported by the SDK. In addition to these service-level frameworks is a runtime framework that contains the base platform the services frameworks utilize. Separating these frameworks allows developers to choose which services to include in their app and more importantly which version. Therefore, as we update the AWS SDK for iOS, you can choose which service framework to update in your application based on the changes offered.

Description of the Frameworks

AWSRuntime.framework
Contains all third-party dependencies and the base platform used to send to and process requests from AWS services. All individual service frameworks depend on this framework.

AWSAutoScaling.framework
Contains all the classes necessary to use Auto Scaling. Must be used with the AWSRuntime.framework framework.

AWSCloudWatch.framework
Contains all the classes necessary to use Amazon CloudWatch. Must be used with the AWSRuntime.framework framework.

AWSDynamoDB.framework
Contains all the classes necessary to use Amazon DynamoDB. Must be used with the AWSRuntime.framework framework. This contains the latest version of the Amazon DynamoDB service, currently version 2012-08-10. If you still wish to use the older version of Amazon DynamoDB, please see the legacy AWSiOSSDK.framework.

AWSEC2.framework
Contains all the classes necessary to use Amazon EC2. Must be used with the AWSRuntime.framework framework.

AWSElasticLoadBalancing.framework
Contains all the classes necessary to use Elastic Load Balancing. Must be used with the AWSRuntime.framework framework.

AWSS3.framework
Contains all the classes necessary to use Amazon S3. Must be used with the AWSRuntime.framework framework.

AWSSimpleDB.framework
Contains all the classes necessary to use Amazon SimpleDB. Must be used with the AWSRuntime.framework framework.

AWSSES.framework
Contains all the classes necessary to use Amazon SES. Must be used with the AWSRuntime.framework framework.

AWSSNS.framework
Contains all the classes necessary to use Amazon SNS. Must be used with the AWSRuntime.framework framework.

AWSSQS.framework
Contains all the classes necessary to use Amazon SQS. Must be used with the AWSRuntime.frameworkr framework.

AWSSecurityTokenService.framework
Contains all the classes necessary to use AWS Security Token Service (STS). Must be used with the AWSRuntime.framework framework.

AWSPersistence.framework
Contains all the classes necessary to use the AWS Persistence Framework for Core Data. Must be used with the AWSRuntime.framework and AWSDynamoDB.framework frameworks.

Deprecated Framework

AWSiOSSDK.framework
This all-in-one framework contains all the classes and dependencies of the entire AWS SDK for iOS. Including this framework in your project provides access to all services. Going forward, we intend to update only the individual frameworks, which will provide you greater control. This framework also supports the older version of the Amazon DynamoDB service, version 2011-12-05. This framework does not include the AWS Persistence Framework for Core Data. If you wish to use the functionality in your app, you will need to migrate to the service-specific frameworks as described above.

Summary

These individual frameworks provide a finer level of control as you update your application. Please let us know if this helped by leaving a comment below.

If you like building mobile applications that use cloud services that our customers use on a daily basis, perhaps you would like to join the AWS Mobile SDK and Tools team. We are hiring Software Developers, Web Developers, and Product Managers.