AWSS3 区域/plist 配置问题“服务配置为‘nil’ [英] AWSS3 Region / plist configuration issue 'The service configuration is `nil`

查看:36
本文介绍了AWSS3 区域/plist 配置问题“服务配置为‘nil’的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在使用 AWSS3 时遇到了一个奇怪的问题.

I am facing a strange issue with AWSS3.

设置:

  • AWS 移动 HUB
  • 认知
  • DynamoDB
  • S3

--> Cognito、Dynamo 和甚至 S3(通过认知用户数据)也能工作.

--> Cognito, Dynamo & even S3 (through cognito user data) work.

但是我现在尝试使用以下代码直接连接到 AWS3:"

However I now tried to connect directly to AWS3 with the following code:"

let transferManager = AWSS3TransferManager.default()
                            let uploadRequest = AWSS3TransferManagerUploadRequest()
                            uploadRequest?.bucket = "XXXXXXXXXXXX"
                            uploadRequest?.key = "user-data/" + awsId! + "/primary_profile_picture.png"
                            uploadRequest?.body = imgUrl as URL

                            transferManager.upload(uploadRequest!).continueWith(executor: AWSExecutor.mainThread(), block: { (task:AWSTask<AnyObject>) -> Any? in

                                if let error = task.error as? NSError {
                                    if error.domain == AWSS3TransferManagerErrorDomain, let code = AWSS3TransferManagerErrorType(rawValue: error.code) {
                                        switch code {
                                        case .cancelled, .paused:
                                            break
                                        default:
                                            print("Error uploading: (uploadRequest?.key) Error: (error)")
                                        }
                                    } else {
                                        print("Error uploading: (uploadRequest?.key) Error: (error)")
                                    }
                                    return nil
                                }

                                let uploadOutput = task.result
                                print("Upload complete for: (uploadRequest?.key)")
                                return nil
                            })

并且我收到错误:

AWSiOSSDK v2.5.1 [Debug] AWSInfo.m line:122 | -[AWSServiceInfo initWithInfoDictionary:checkRegion:] | Couldn't read the region configuration from Info.plist for the client. Please check your `Info.plist` if you are providing the SDK configuration values through `Info.plist`.
2017-02-20 19:29:21.748997 [2210:1152801] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'The service configuration is `nil`. You need to configure `Info.plist` or set `defaultServiceConfiguration` before using this method.'

我正在使用从 AWS Mobiel HUB 下载的 plist 配置,因此我有点惊讶它不起作用(就像所有其他组件一样).

I am using the downloaded plist configuration from AWS Mobiel HUB and am therfore a bit surprised that it does not work (as all other components do).

任何想法可能是什么问题?plist 实际上包含存储桶 ID &区域.

Any ideas what the issue might be? The plist actually contains the bucket ID & region.

推荐答案

您的 info.plist 中需要有 S3TransferManager.

Your info.plist needs to have S3TransferManager in it.

所以,**AWS ->S3TransferManager ->默认 ->区域 ->...**

您可以找到一个 这里

这篇关于AWSS3 区域/plist 配置问题“服务配置为‘nil’的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆