GithubHelp home page GithubHelp logo

samkudr / aws-sdk-ios-spm Goto Github PK

View Code? Open in Web Editor NEW

This project forked from aws-amplify/aws-sdk-ios-spm

0.0 0.0 0.0 38.63 MB

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

License: Apache License 2.0

Swift 0.20% Shell 0.17% MATLAB 0.01% Objective-C 98.23% C 0.55% C++ 0.85%

aws-sdk-ios-spm's Introduction

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.

aws-sdk-ios-spm's People

Contributors

aws-sdk-ios-spm-ci avatar royjit avatar samkudr avatar brennanmke avatar ruisebas avatar palpatim avatar atierian avatar lawmicha avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.