Amplify 1.31.0

Amplify 1.31.0

AWS Mobile SDK ToolsAWS Amplify Swift Ops 维护。



Amplify 1.31.0

  • 亚马逊网络服务

适用于 iOS 的 Amplify

AWS Amplify

AWS Amplify 为云操作的不同类别提供声明性和易于使用的接口。AWS Amplify 与任何基于 JavaScript 的前端工作流程良好配合,并为移动开发者提供 React Native。

我们的默认实现与亚马逊网络服务 (AWS) 配合工作,但 AWS Amplify 设计为对任何自定义后端或服务开放和可插件。

API 文档

入门指南

Cocoapods CircleCI Discord

特性/API

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

所有上述未列出的服务和功能都通过 iOS SDK 支持,或者如果支持某个类别,则可以通过以下方式通过 Escape Hatch 访问

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。目前没有计划支持 Amplify 在 WatchOS、tvOS 或 MacOS 上。

许可证

此库采用 Apache 2.0 许可证进行授权。

安装

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

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

Swift Package Manager

  1. Swift Package Manager 随 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 仓库的规则,其中指定了您想 Swift Package Manager 安装的 Amplify 版本。选择第一条规则,版本,因为它将使用从 main 分支检测到的最新兼容版本,然后点击 下一步

    Dependency version options

  4. 选择您想添加到项目中的库。始终选中 Amplify 库。"插件" 的安装取决于您使用哪些分类

    • API: AWSAPIPlugin

    • 分析: AWSPinpointAnalyticsPlugin

    • 身份验证: AWSCognitoAuthPlugin

    • 数据存储: AWSDataStorePlugin

    • 存储: AWSS3StoragePlugin

      注意:由于不同的最小 iOS 版本要求,当前无法通过 Swift Package Manager 支持AWSPredictionsPlugin。最终将添加对该插件的支持。

    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. Amplify for iOS 通过 CocoaPods 提供。如果您尚未安装 CocoaPods,请运行以下命令执行安装:

    $ gem install cocoapods
    $ pod setup
    

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

    $ sudo gem install cocoapods
    $ pod setup
    
  2. 在您的项目目录(其中包含您的 *.xcodeproj 文件的目录中),键入 pod init 并打开创建的 Podfile。添加 Amplify pod 和您想要使用的任何插件。以下是如果您要使用预测插件,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(...)
    }

开发 Pod

您可以通过克隆此仓库并创建一个引用本地复制的 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之前,请确保您已阅读我们的贡献指南此处。谢谢!♥️