如何正确实现Amplify to Flutter

How to correctly implement Amplify to Flutter

最近几天,我一直在想办法解决我在使用 Amplify for Flutter 时遇到的问题:error: compiling for iOS 9.0, but module 'Starscream' has a minimum deployment target of iOS 11.0Target of URI doesn't exist: 'package:amplify_core/amplify_core.dart'

我尝试过的事情:

  1. 按照文档 https://docs.amplify.aws/start/getting-started/setup/q/integration/flutter 的教程进行操作。结果是:project directory/ios/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/Connection/AppSyncConnection/AppSyncSubscriptionConnection+ErrorHandler.swift:9:8: error: compiling for iOS 9.0, but module 'Starscream' has a minimum deployment target of iOS 11.0: project directory/build/ios/Debug-iphonesimulator/Starscream/Starscream.framework/Modules/Starscream.swiftmodule/x86_64-apple-ios-simulator.swiftmoduleCommand CompileSwift failed with a nonzero exit code note: Using new build system note: Building targets in parallel note: Planning build note: Contructing build description。 我取消注释 Podfile 上的行 platform :ios, '9.0' 并将其更改为 platform :ios, '11.0',同时还将项目 xcworkspace 上的开发目标更改为 11。发生了同样的错误。

  2. 按照文档 https://aws.amazon.com/getting-started/hands-on/build-flutter-app-amplify/ 的教程进行操作。这导致:Target of URI doesn't exist: 'package:amplify_core/amplify_core.dart' 当我尝试导入核心时。那样,我无法使用 Amplify() class.

  3. 正在重新启动计算机。

  4. 正在删除 Amplify 文件夹。

  5. 运行 amplify uninstall,然后重新开始。

  6. 正在搜索此网站和其他网站上的其他帖子。

  7. 运行 amplify clean.

注意事项:

  1. Amplify 安装、初始化和配置步骤return没有错误。
  2. 如果我删除 Amplify 依赖项 amplify_flutter: '<1.0.0' amplify_auth_cognito: '<1.0.0' amplify_analytics_pinpoint: '<1.0.0' 应用程序在模拟器上运行得很好。一旦我把它们放回错误 return.

您想将 import 'package:amplify_core/amplify_core.dart' 更改为 import 'package:amplify_flutter/amplify.dart'; 然后当您添加插件时,您会想这样做 Amplify.addPlugins([authPlugin, storage]);

我也 运行 flutter upgrade 在我这样做之前,请确保保存所有更改。您可以在示例 flutter app

中找到更多信息

https://github.com/aws-amplify/amplify-flutter/blob/master/example/lib/main.dart

如果您正在学习本教程https://docs.amplify.aws/start/getting-started/setup/q/integration/flutter

然后在dependencies这一步有更正: https://docs.amplify.aws/start/getting-started/setup/q/integration/flutter#add-amplify-to-your-application

应该是这样的:

dependencies:
  flutter:
    sdk: flutter

  # The following adds the Cupertino Icons font to your application.
  # Use with the CupertinoIcons class for iOS style icons.
  cupertino_icons: ^1.0.2

dev_dependencies:

  amplify_flutter: <1.0.0
  amplify_datastore: <1.0.0
  amplify_api: <1.0.0
  amplify_auth_cognito: <1.0.0
  flutter_test:
    sdk: flutter
  

然后 运行:

颤抖干净

flutter pub 获取