在iOS中使用没有`awsconfiguration.json`的AWSMobileClient

tgk*_*tgk 6 ios aws-amplify

我想通过Cognito用户池对iOS设备进行身份验证以使用AppSync / S3服务。该AWSMobileClient提供了一些很好的便利,但初始化需要你包有一个awsconfiguration.json文件-我们的应用程序将动态定义。有没有办法手动配置?

Mon*_*ngo 7

当前的解决方案是使用来自 CLI 的多环境工作流。 https://aws-amplify.github.io/docs/cli/multienv?sdk=ios


编辑

如果 Amplify 团队的多环境工作流程对您不起作用,您可以做的是创建配置的调试和生产版本,然后创建一个构建阶段,根据您的构建设置(调试与释放等)。这对我的一个项目非常有效。

配置文件

构建阶段

#export; #Prints list of all xcode variables with values
printf "$CONFIGURATION\n";

if [ "$CONFIGURATION" = "Debug" ]; then
printf "creating debug configuration";
cp -r "$PROJECT_DIR/awsconfiguration-debug.json" "$BUILT_PRODUCTS_DIR/$PRODUCT_NAME.app/awsconfiguration.json"
else 
printf "creating production configuration";
cp -r "$PROJECT_DIR/awsconfiguration-prod.json" "$BUILT_PRODUCTS_DIR/$PRODUCT_NAME.app/awsconfiguration.json"
fi
Run Code Online (Sandbox Code Playgroud)


Nic*_*ger 3

从 AWS iOS SDK 2.11.0(2019 年 9 月 9 日)开始,现在可以在没有awsconfiguration.json文件的情况下进行配置。

它甚至记录在此处的放大文档中

另请参阅我对相关问题的回答