【问题标题】:AWS API SDK provides invalid URLAWS API SDK 提供了无效的 URL
【发布时间】:2016-10-27 01:11:37
【问题描述】:

我使用 AWS 创建了一个 API,并生成了供 iOS 使用的开发工具包。但是,当我尝试调用 API 时,出现此错误。

Error occurred: Error
Domain=NSURLErrorDomain Code=-1002 "unsupported URL"
UserInfo={NSUnderlyingError=0x1546a36b0{Error Domain=kCFErrorDomainCFNetwork Code=-1002 "(null)"}, NSErrorFailingURLStringKey=(null)https://(api-path),...}

URL 在 SDK 中是硬编码的,字符串中没有任何类型的 (null)。我不知道这是从哪里来的。

【问题讨论】:

  • 能否提供更多细节?您使用的是哪个 iOS SDK 版本?生成的 SDK 是 objC 还是 Swift?
  • 我使用了 n 个月的应用程序:今天,它收到了相同的消息。这可能是亚马逊需要解决的问题。

标签: ios swift amazon-web-services amazon


【解决方案1】:

在 AWS 生成的 init(configuration: AWSServiceConfiguration) 中替换以下代码对我有用:

原文:

if let endpoint = configuration.endpoint {
    self.configuration.baseURL = endpoint.URL
}

替换为:

self.configuration.baseURL = URL(string: URLString)

我不明白为什么它说端点是 nil,即使它事先已经成功创建。无论如何,它可能会帮助您解决问题。

【讨论】:

    【解决方案2】:

    检查您的NSURL 对象以查看当您从NSString 初始化它时它是否为零。

    然后检查你在NSString中的url,看看它是否包含任何空格,这会使你的url无效。

    要解决您必须将其添加到您的网址:

    NSString *yourUrl; // Your url in NSString type.
    NSString *encoded = [substring stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
    NSURL *url = [NSURL URLWithString:encoded];
    

    致那些对我的回答投反对票的人:

    如果您因为不是用 swift 编写而投反对票,我只是尽力提供帮助。

    仅仅因为我没有 swift 编程经验,并不意味着我必须停止帮助他人解决他们的问题。

    【讨论】:

      猜你喜欢
      • 2020-01-31
      • 2020-07-24
      • 1970-01-01
      • 2019-04-30
      • 2016-10-03
      • 1970-01-01
      • 2016-04-07
      • 1970-01-01
      • 2020-04-20
      相关资源
      最近更新 更多