AWSPredictionsPlugin 1.31.0

AWSPredictionsPlugin 1.31.0

AWS Mobile SDK ToolsAWS Amplify Swift Ops 维护。



 
依赖项
AWSComprehend~> 2.36.0
AWSPluginsCore= 1.31.0
AWSPolly~> 2.36.0
AWSRekognition~> 2.36.0
AWSTextract~> 2.36.0
AWSTranscribeStreaming~> 2.36.0
AWSTranslate~> 2.36.0
CoreMLPredictionsPlugin= 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

特性和 API

  • 分析 - 用于记录指标和理解您的用户。
  • 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仓库对Swift Package Manager安装哪个版本的Amplify的规则。选择第一个规则版本,因为它会使用从main分支能检测到的最新兼容依赖版本,然后点击下一步

    Dependency version options

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

    • API: AWSAPIPlugin

    • 分析: AWSPinpointAnalyticsPlugin

    • 身份验证: AWSCognitoAuthPlugin

    • 数据存储: AWSDataStorePlugin

    • 存储: AWSS3StoragePlugin

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

    Select dependencies

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

    您可以通过打开项目的Swift Packages选项卡来随时返回并修改项目中包含的SPM包:在Xcode导航器中点击Project文件,然后点击您的项目图标,然后选择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
    

    根据您的系统设置,您可能需要使用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

您可以手动通过克隆此Repo,并创建一个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之前,请阅读我们的贡献指南。谢谢!♥️