2017-05-08 47 views
0

我试图链接到我的帐户与此代码错误初始化AZSCloudStorageAccount斯威夫特3

let storageAccount : AZSCloudStorageAccount; 

       try! storageAccount = AZSCloudStorageAccount(fromConnectionString: config.getAzureConnection()) 

      let blobClient = storageAccount.getBlobClient() 
      var container : AZSCloudBlobContainer = (blobClient?.containerReference(fromName: config.getContainer()))! 

的“config.getAzureConnection()”中包含了正确的道路,因为我使用的Android应用程序是相同的。

在这一行try! storageAccount = AZSCloudStorageAccount(fromConnectionString: config.getAzureConnection())应用程序崩溃没有错误,只有(lldb)。

有人可以帮助我。

回答

1

你的错误是这样吗? fatal error: 'try!' expression unexpectedly raised an error: Error Domain=com.Microsoft.AzureStorage.ErrorDomain Code=1 "(null)": file /Library/Caches/com.apple.xbs/Sources/swiftlang/swiftlang-802.0.53/src/swift/stdlib/public/core/ErrorType.swift, line 182 (lldb)

代码= 1是AZSEInvalidArgument,这意味着您的连接字符串无效。我有点困惑你为什么说“正确的路径”,因为fromConnectionString直接接收字符串,而不是文件的路径。要查看正确连接字符串的示例,请参阅Getting Started Guide。基本上看起来是这样的: "DefaultEndpointsProtocol=https;AccountName=your_account_name_here;AccountKey=your_account_key_here"

我们将尽快记录错误代码。对困惑感到抱歉!

+0

谢谢你的帮助。 – HideCode

+0

非常欢迎! –

0

应用程序崩溃没有错误,只有(lldb)。

我很抱歉,SWIFT blob客户端目前没有提供任何错误处理代码。我会根据您的代码提供一些线索来跟踪您的问题。

  1. 在构建存储代码之前,请对项目进行一次更改。转到“Azure存储客户端库” - >“生成设置”,搜索“定义模块”设置,并将其更改为“是”。
  2. 请检查问题是否由网络连接不良造成。
  3. 通过将代码放入执行代码块中,可以获得此问题的错误代码。
do { 
    //put your code here 
} catch let error as NSError { 
    print("Error code = %ld, error domain = %@, error userinfo = %@", error.code, error.domain, error.userInfo); 
} 
  • 的SWIFT团块样品已经过测试并很好地工作中定位iOS 9.0和使用的XCode 7.如果你有不同的设置,样品可能不运行正常。我建议您使用Blob Storage REST API作为解决方法。