0

我正在尝试学习和了解 AWS Mobile Hub 的工作原理。
基于我正在尝试从头开始创建一个 React Native 应用程序并连接到 AWS Mobile Hub。

  • 我按照AWS Mobile React Native Starter # Use features in your app从头开始​​创建 React Native 应用程序中的步骤进行操作。
  • 在 AWS Mobile Hub 中设置一个新项目。
    • 用于awsmobile init <ID>设置 AWS Mobile Hub 的反应项目。
    • 在 AWS Mobile Hub 项目上启用用户登录。
  • 在 React Native 项目中设置身份验证。(ps. 指南中有错误,因为缺少“放大”导入)
  • 运行应用程序npm run ios

无论我做什么,我总是收到“应用程序...尚未注册”错误。

来自“AWS Mobile React Native Starter”的示例后端确实有效。我尝试比较两个 AWS 移动项目,但找不到导致“应用程序...尚未注册”错误的原因。

我想了解这个 AWS Mobile Hub 并希望能够自己设置项目并知道如何将其集成到应用程序中。非常感谢解决此错误的任何帮助。

4

2 回答 2

1

终于发现问题了。首先我认为这是因为index.ios.js并且index.android.js丢失了,但后来发现这些不再需要了。

Aparently,当从头开始做一个应用程序时,创建的“index.js”没有正确的组件名称。将错误的名称更改为 AppRegistry.registerComponent('wrongname', () => App);正确的应用程序名称,匹配aws_project_namein aws-exports.js,解决了这个问题。

该应用程序现在加载。欢呼!下一个问题:登录时我收到“无用户池”消息。检查了所有配置和 Mobile Hub 项目,但用户池似乎配置正确...

更新:还发现了“无用户池”的问题。在调试应用程序时,我注意到Amplify.configurefunction 收到的配置是undefined. 但我复制了这段代码: import { withAuthenticator } from 'aws-amplify-react-native'; import {awsmobile} from './aws-exports'; 来自这个 AWS React Native Starter App tutorial。但显然它不起作用。

用以下内容替换该位: import Amplify from 'aws-amplify-react-native'; import aws_exports from './aws-exports'; 来自 AWS 文档 » AWS 移动 » 开发人员指南 » 适用于 React Native 的 AWS Amplify 库 » 开始 。现在它突然起作用了。

感谢 AWS!花了我几个晚上才找到:-/

于 2018-01-23T21:10:25.797 回答
0

我之前在 aws-amplify-react-native 下安装了一个 aws-amplify 版本时看到了这个问题。当项目上安装的 aws-amplify 版本不是需要 aws-amplify-react-native 的版本时,就会发生这种情况。我希望你的应用程序一切顺利。

于 2018-08-02T18:45:04.727 回答