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 HAQM CloudWatch. Must be used with the AWSRuntime.framework framework.

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

AWSEC2.framework
Contains all the classes necessary to use HAQM 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 HAQM S3. Must be used with the AWSRuntime.framework framework.

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

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

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

AWSSQS.framework
Contains all the classes necessary to use HAQM 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 HAQM 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.