将 AWS Amplify 添加到具有多个目标的 iOS Swift 应用程序不起作用

问题描述 投票:0回答:1

我正在尝试将放大添加到具有多个目标的现有 iOS (Swift) 应用程序。在项目根目录中运行 amplify init 后,cli 会给出以下反馈:

更新 Xcode 项目: 🚫 xcodeProject:找不到目标粉丝应用程序 -- 恢复建议:手动将 Amplify 文件添加到您的 Xcode 项目中。

在项目根目录中创建 amplify 文件夹,我还看到 awsconfiguration.json 和 amplifyconfiguration.json 文件。

我将 amplify 包添加到项目中,并将 Amplify.configure() 添加到 AppDelegate,如 https://docs.amplify.aws/lib/project-setup/create-application/q/platform 上的 aws 文档中所述/ios/

当我运行应用程序时,我在控制台中看到以下内容:

找不到 Amplify 配置。 设置 Amplify 时发生错误:ConfigurationError:无法加载默认

amplifyconfiguration.json
文件 恢复建议:预计会在应用程序包中的
amplifyconfiguration.json
处找到文件
/Users/xxx/Library/Developer/CoreSimulator/Devices/xxx/data/Containers/Bundle/Application/xxx/App.app
,但该文件不存在。将 amplifyconfiguration.json 添加到应用程序的“复制捆绑资源”构建阶段,或使用从自定义路径加载的配置对象调用
Amplify.configure()

我认为这是因为初始化步骤中的“未找到”错误,但我需要针对不同的目标进行不同的配置。因此,我遵循建议,并按照我在here

找到的代码的建议,使用配置对象调用配置
let apiConfig = APICategoryConfiguration(
plugins: ["awsAPIPlugin":
    [
        "myendpointname": [
            "endpointType": "GraphQL",
            "endpoint": "REPLACE",
            "region": "REPLACE",
            "authorizationType": "AMAZON_COGNITO_USER_POOLS"
        ]
    ]
])
let config = AmplifyConfiguration(api: apiConfig)
Amplify.configure(config)

但现在我明白了:

找不到配置键的插件

awsAPIPlugin
。为该键添加插件。

我可以在目标设置中看到该插件已添加到我正在运行的目标中,所以我感觉这也与 amplify init 中失败的最后一步有关,其中 amplify 无法找到目标。

我的问题是;如何在具有多个目标的 iOS 项目中启动 amplify? 非常感谢任何帮助。

ios swift amazon-web-services aws-amplify
1个回答
0
投票

您是否将

amplifyconfiguration.json
文件和
awsconfiguration.json
文件添加到项目中?将它们添加到应用程序的根文件夹后,您仍然需要手动将它们添加到您的应用程序,如此处所述。希望能解决它!

© www.soinside.com 2019 - 2024. All rights reserved.