2017-05-08 3 views
0

Ich habe versucht, Link zu meinem Konto mit diesem CodeFehler initialisieren AZSCloudStorageAccount Swift 3

let storageAccount : AZSCloudStorageAccount; 

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

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

die "config.getAzureConnection()" enthält den richtigen Weg, weil ich das gleiche für Android-App verwendet.

In dieser Zeile try! storageAccount = AZSCloudStorageAccount(fromConnectionString: config.getAzureConnection()) die App nur ohne Fehler abstürzt (lldb).

Kann mir jemand helfen.

Antwort

1

Sieht Ihr Fehler so aus? 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)

Code = 1 ist AZSEInvalidArgument, was bedeutet, dass Ihre Verbindungszeichenfolge ungültig ist. Ich bin ein wenig verwirrt, warum Sie "den richtigen Pfad" gesagt haben, da fromConnectionString den String direkt übernimmt, nicht den Pfad zu einer Datei. Ein Beispiel dafür, wie eine korrekte Verbindungszeichenfolge aussieht, finden Sie unter Getting Started Guide. Grundsätzlich sieht es so aus: "DefaultEndpointsProtocol=https;AccountName=your_account_name_here;AccountKey=your_account_key_here"

Wir werden die Fehlercodes sehr bald richtig dokumentieren. Entschuldigung für die Verwirrung!

+0

danke für die Hilfe. – HideCode

+0

Sie sind herzlich willkommen! –

0

die App stürzt ohne Fehler ab, nur (lldb).

Es tut mir leid, dass der SWIFT-Blob-Client derzeit keinen Code zur Fehlerbehandlung zur Verfügung stellt. Ich werde einige Hinweise geben, um Ihr Problem anhand Ihres Codes zu verfolgen.

  1. Bevor Sie den Speichercode erstellen, nehmen Sie eine Änderung am Projekt vor. Wechseln Sie zu "Azure Storage Client Library" -> Buildeinstellungen, suchen Sie nach der Einstellung "Defines Module", und ändern Sie sie in "YES".
  2. Überprüfen Sie, ob das Problem durch eine schlechte Netzwerkverbindung verursacht wird.
  3. Sie können den Fehlercode dieses Problems erhalten, indem Sie Ihren Code in einen Do-Catch-Codeblock setzen.
do { 
    //put your code here 
} catch let error as NSError { 
    print("Error code = %ld, error domain = %@, error userinfo = %@", error.code, error.domain, error.userInfo); 
} 
  1. Die SWIFT blob Probe getestet wurde und funktionieren gut Targeting iOS 9.0 und mit XCode 7. Wenn Sie eine andere Einstellung haben, können nicht die Probe laufen richtig. Ich schlage vor, Sie verwenden Blob Storage REST API als Workaround.