AWSPluginsCore 1.31.0

AWSPluginsCore 1.31.0

AWS 移动 SDK 工具AWS Amplify Swift Ops 维护。



 
依赖关系
Amplify= 1.31.0
AWSCore~> 2.36.0
 

  • 作者:
  • 亚马逊网络服务

Amplify for iOS

AWS Amplify

AWS Amplify 提供了一个声明式、易于使用的接口,用于跨不同的云操作类别。AWS Amplify 与任何基于 JavaScript 的前端工作流程以及对移动开发者友好的 React Native 都很好地配合使用。

我们的默认实现与亚马逊网络服务 (AWS) 配合使用,但 AWS Amplify 设计为开源、可插拔的,使其能够支持任何自定义后端或服务。

API 文档

入门指南

Cocoapods CircleCI Discord

功能/APIs

  • 分析 - 用于记录指标并了解您的用户。
  • API (GraphQL) - 用于将 GraphQL 端点添加到您的应用程序。
  • API (REST) - 用于将 REST 端点添加到您的应用程序。
  • 身份验证 - 用于管理您的用户。
  • 数据存储 - 用于简化分布式数据存储的编程,适用于离线和在线场景。
  • 地理信息 - 为您的应用程序添加基于位置的功能。
  • 预测 - 用于检测文本、图像等。
  • 存储 - 将复杂对象(如图像和视频)存储到云端。

上述未列出的所有服务和功能均通过iOS SDK或通过支持相应类别的“逃生舱”进行访问

guard let predictionsPlugin = try Amplify.Predictions.getPlugin(for: "awsPredictionsPlugin") as? AWSPredictionsPlugin else {
    print("Unable to cast to AWSPredictionsPlugin")
    return
}

guard let rekognitionService = predictionsPlugin.getEscapeHatch(key: .rekognition) as? AWSRekognition else {
    print("Unable to get AWSRekognition")
    return
}

let request = AWSRekognitionCreateCollectionRequest()
if let request = request {
    rekognitionService.createCollection(request)
}

平台支持

Amplify 支持iOS 11以上版本和某些类别(如预测和地理定位)的iOS 13。目前还没有计划在WatchOS、tvOS或MacOS上支持Amplify。

许可协议

本库采用Apache 2.0 许可协议。

安装

Amplify 需要 Xcode 12 或更高版本来构建。

有关更详细的说明,请参阅我们的文档站点中的入门指南。

Swift 包管理器

  1. Swift 包管理器与 Xcode 一起分发。要将 Amplify 库添加到您的 iOS 项目,请在 Xcode 中打开项目,然后选择 文件 > Swift 包 > 添加包依赖

    Add package dependency

  2. 在搜索栏中输入 Amplify iOS GitHub 仓库 URL(https://github.com/aws-amplify/amplify-ios),然后点击 下一步

    Search for repo

  3. 您将看到 Amplify iOS 仓库中关于要安装哪个版本 Amplify 的规则。选择第一个规则,即 版本,因为它将从 main 分支检测到的兼容依赖的最高版本使用,然后点击 下一步

    Dependency version options

  4. 选择您想添加到项目的库。始终选择Amplify库。要安装的“插件”取决于您正在使用的类别

    • API: AWSAPIPlugin

    • 分析: AWSPinpointAnalyticsPlugin

    • 身份验证: AWSCognitoAuthPlugin

    • 数据存储: AWSDataStorePlugin

    • 存储: AWSS3StoragePlugin

      注意:由于最低iOS版本要求不同,AWSPredictionsPlugin目前不支持通过Swift Package Manager。最终将添加对该库的支持。

    Select dependencies

    选择所有合适的选项,然后单击完成

    您随时可以通过打开项目的Swift Packages选项卡来修改项目中包含的SPM包:在Xcode导航器中单击项目文件,然后单击项目图标,然后选择Swift Packages选项卡。

  5. 在您的应用程序代码中,当您需要向Amplify添加插件、访问插件选项或访问类别逃生门时,请显式导入插件。

    import Amplify
    import AWSAPIPlugin
    import AWSDataStorePlugin
    
    // ... later
    
    func initializeAmplify() {
        do {
            try Amplify.add(AWSAPIPlugin())
            // and so on ...
        } catch {
            assert(false, "Error initializing Amplify: \(error)")
        }
    }

    如果您只是访问Amplify类别API(例如,Auth.signIn()Storage.uploadFile()),您只需要导入Amplify。

    import Amplify
    
    // ... later
    
    func doUpload() {
        Amplify.Storage.uploadFile(...)
    }

CocoaPods

  1. 通过CocoaPods可以获取iOS的Amplify。如果您尚未安装CocoaPods,请运行以下命令进行安装:

    $ gem install cocoapods
    $ pod setup
    

    根据您的系统设置,您可能需要使用sudo来安装cocoapods,如下所示:

    $ sudo gem install cocoapods
    $ pod setup
    
  2. 在您的项目目录(包含您的*.xcodeproj文件的目录)中,输入pod init并打开创建的Podfile。添加Amplify pod和您希望使用的任何插件。以下是一个示例,如果您将使用Predictions插件,则Podfile可能看起来像这样:

    source 'https://github.com/CocoaPods/Specs.git'
    
    platform :ios, '13.0'
    use_frameworks!
    
    target :'YourTarget' do
        pod 'Amplify'
        pod 'AmplifyPlugins/AWSCognitoAuthPlugin'
        pod 'AWSPredictionsPlugin'
        pod 'CoreMLPredictionsPlugin'
    end
  3. 然后运行以下命令

    $ pod install
    
  4. 使用Xcode打开*.xcworkspace并开始使用Amplify。

    image

    注意:请使用*.xcodeproj。如果您打开项目文件而不是工作区,您将收到错误。

  5. 在您的应用程序代码中,当您需要向Amplify添加插件、访问插件选项或访问类别逃生门时,请导入AmplifyPlugins

    import Amplify
    import AmplifyPlugins
    
    // ... later
    
    func initializeAmplify() {
        do {
            try Amplify.add(AWSAPIPlugin())
            // and so on ...
        } catch {
            assert(false, "Error initializing Amplify: \(error)")
        }
    }

    如果您只是访问Amplify类别API(例如,Auth.signIn()Storage.uploadFile()),您只需要导入Amplify。

    import Amplify
    
    // ... later
    
    func doUpload() {
        Amplify.Storage.uploadFile(...)
    }

开发Pods

您可以通过克隆此存储库并创建一个像下面这样的Podfile来手动安装库,该Podfile引用您本地克隆的部分:

pod 'Amplify', :path => '~/amplify-ios'
pod 'AWSPluginsCore', :path => '~/amplify-ios'
pod 'CoreMLPredictionsPlugin', :path => '~/amplify-ios'
pod 'AWSPredictionsPlugin', :path => '~/amplify-ios'
pod 'AmplifyPlugins/AWSAPIPlugin', :path => '~/amplify-ios'

然后,安装依赖项

pod install

使用./YOUR-PROJECT-NAME.xcworkspace文件打开项目。请记住,从现在开始始终使用./YOUR-PROJECT-NAME.xcworkspace打开您的Xcode项目。

报告错误/功能请求

Open Bugs Open Questions Feature Requests Closed Issues

欢迎使用 GitHub 问题跟踪器来报告错误或提出功能建议。

在提交问题之前,请检查现有已开发最近关闭的问题,以确保其他人没有报告过该问题。请尽量提供尽可能多的信息。以下详细信息非常有用:

  • 预期行为和观察到的行为
  • 可重现的测试案例或一系列步骤
  • 正在使用的代码版本
  • 针对错误的任何相关修改
  • 与您的环境或部署相关的任何自定义内容

开源贡献

我们欢迎来自社区的任何贡献!在提交任何 PR 之前,请确保阅读我们的贡献指南 这里。谢谢!♥️