Skip to content
This repository has been archived by the owner on May 28, 2024. It is now read-only.

Fork from AWS's repository. Little changes so it works for Mac Catalyst.

License

Notifications You must be signed in to change notification settings

samkudr/aws-sdk-ios-spm

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Swift Package Manager support for AWS SDK for iOS

This repository enables Swift Package Manager support for the AWS Mobile SDK for iOS by vending a Manifest file (Package.swift) that links to binary frameworks for the SDKs.

Changes for Mac Catalyst

Switched to use localWithFilesystem mode, the mode is chosen both for including only what is compiled in forked aws-sdk-ios and to use binaries from this repository (vs. what is hosted online by AWS Amplify). In order to keep everything online the XCF directory is added to the repository (with --force flag). See also Local Development below.

Version tags are +1 from the source for the patch portion (may be changed later to this repository own versions).

Setup

To get started with the AWS SDK for iOS, check out the Developer Guide for iOS. You can set up the SDK and start building a new project, or you integrate the SDK in an existing project.

To use the AWS SDK for iOS, you will need the following installed on your development machine:

  • Xcode 11.0 or later
  • iOS 9 or later

Adding AWS SDK iOS via Swift Package Manager

  1. Open your project in Xcode 11.0 or above

  2. Go to File > Swift Packages > Add Package Dependency...

  3. In the field Enter package repository URL, enter "https://github.com/aws-amplify/aws-sdk-ios-spm"

  4. Pick the latest version and click Next.

    NOTE: The AWS Mobile SDK for iOS does not follow Semantic Versioning.

  5. Choose the packages required for your project and click Finish

Local Development

It you are using SPM to do development and are modifying the source in the AWS SDK iOS code base you will need to work with a locally built copy of the XCF files. Running local.sh will produce all of the XCF files and copy them to a directory in this repo so that Package.swift can be updated to reference them. Once the XCF files are in place change the value for localPathEnabled to true and the package will reference the local path. The Swift package can then be used locally with any changes made in the cloned copy of the aws-sdk-ios repo.

Requirements

In order to do local development the XCF directory must be populated with the XCF files. These files can be generated from the aws-sdk-ios repo which is expected to be cloned alongside this repo. The Python script which is used to create the XCF files for deployment will be used to prepare these files which are then copied into a folder named XCF in this repo's directory. Then Package.swift can be changed to use the local path.

  1. Clone aws-sdk-ios to the same directory as this repo
  2. Run local.sh to prepare the XCF files (this can take a while)
  3. Update Package.swift to set buildMode to localWithDictionary or localWithFilesystem

The localWithDictionary mode will use the list of packages in Package.swift while localWithFilesystem will read the filesystem for which packages are built and are found in the XCF folder. This option is useful when a subset of the packages are built which takes less time.

About

Fork from AWS's repository. Little changes so it works for Mac Catalyst.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Objective-C 98.3%
  • Other 1.7%