AmplifyPlugins 1.31.0

AmplifyPlugins 1.31.0

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



 
依赖项
AWSPluginsCore= 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仓库规则。选择第一条规则,即版本,因为它将使用可以从main分支检测到的最新兼容版本,然后点击下一步

    Dependency version options

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

    • API: AWSAPIPlugin

    • 分析: AWSPinpointAnalyticsPlugin

    • 身份验证: AWSCognitoAuthPlugin

    • 数据存储: AWSDataStorePlugin

    • 存储: AWSS3StoragePlugin

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

    Select dependencies

    选择所有适当的项目,然后点击完成

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

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

    $ gem install cocoapods
    $ pod setup
    

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

    $ sudo gem install cocoapods
    $ pod setup
    
  2. 在您的项目目录(您的*.xcodeproj文件所在的目录)中,键入pod init并打开创建的Podfile。添加您希望使用的Amplify桩和任何其他插件。以下是一个如果您将使用预测插件时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引用您本地克隆的库来手动安装库。

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 之前,请确保阅读我们的贡献指南此处。谢谢!♥️