MarkAurelius
MarkAurelius

Reputation: 1333

URLSession "hostname not found", but I see it in browser

  I have this code:

let primaryCurr = "https://api.independentreserve.com/Public/GetValidPrimaryCurrencyCodes"

guard let url = URL(string: primaryCurr) else { 
    print("Invalid URL: \(primaryCurr)")
    return nil 
}

let task = URLSession.shared.dataTask(with: url) { data, response, error in
    guard error == nil else {
        print(error!)
        return
    }
    guard let data = data else {
        print("Data is empty")
        return
    }

    let json = try! JSONSerialization.jsonObject(with: data, options: [])
        print("JSON: ", json)
    }

    task.resume()
}

 

The message area gets this:

2017-11-21 22:41:58.919318+1000 AltcoinTrader[36412:12415444] dnssd_clientstub ConnectToServer: connect()-> No of tries: 1 2017-11-21 22:41:59.921886+1000 AltcoinTrader[36412:12415444] dnssd_clientstub ConnectToServer: connect()-> No of tries: 2 2017-11-21 22:42:00.922257+1000 AltcoinTrader[36412:12415444] dnssd_clientstub ConnectToServer: connect()-> No of tries: 3 2017-11-21 22:42:01.927400+1000 AltcoinTrader[36412:12415444] dnssd_clientstub ConnectToServer: connect() failed path:/var/run/mDNSResponder Socket:11 Err:-1 Errno:1 Operation not permitted 2017-11-21 22:42:01.927796+1000 AltcoinTrader[36412:12415444] [] nw_resolver_create_dns_service_locked DNSServiceCreateDelegateConnection failed: ServiceNotRunning(-65563) 2017-11-21 22:42:01.928105+1000 AltcoinTrader[36412:12415444] TIC TCP Conn Failed [1:0x608000162580]: 10:-72000 Err(-65563) 2017-11-21 22:42:01.929003+1000 AltcoinTrader[36412:12415423] Task <209F1681-53BB-4E9D-A553-E349AE087159>.<1> HTTP load failed (error code: -1003 [10:-72000]) 2017-11-21 22:42:01.929234+1000 AltcoinTrader[36412:12415423] Task <209F1681-53BB-4E9D-A553-E349AE087159>.<1> finished with error - code: -1003 Error Domain=NSURLErrorDomain Code=-1003 "A server with the specified hostname could not be found." UserInfo={NSUnderlyingError=0x604000046720 {Error Domain=kCFErrorDomainCFNetwork Code=-1003 "(null)" UserInfo={_kCFStreamErrorCodeKey=-72000, _kCFStreamErrorDomainKey=10}}, NSErrorFailingURLStringKey=https://api.independentreserve.com/Public/GetValidPrimaryCurrencyCodes/, NSErrorFailingURLKey=https://api.independentreserve.com/Public/GetValidPrimaryCurrencyCodes/, _kCFStreamErrorDomainKey=10, _kCFStreamErrorCodeKey=-72000, NSLocalizedDescription=A server with the specified hostname could not be found.}

   

The -1003 code may be the more relevant one. I was getting that when trying String(contentsOf: url)
 I know the URL is a working one because I can paste it into a browser and get the right JSON string back.   What am I doing wrong here? I am doing my first mac app in Xcode 9.1 on up-to-date macOS 10.13.1.  

Regards

Mark

Upvotes: 2

Views: 1795

Answers (1)

MarkAurelius
MarkAurelius

Reputation: 1333

I fixed this by changing the permissions in the Sandbox.

Specifically, in Project navigator I selected the project, then in the main window selected the app, then the Capabilities tab. App Sandbox was switched on, but all the items were unchecked. I turned on both the Network ones (Incoming and outgoing).

Then it worked

I got onto this by googling and eventually seeing this page: https://developer.apple.com/library/content/documentation/Miscellaneous/Reference/EntitlementKeyReference/Chapters/EnablingAppSandbox.html#//apple_ref/doc/uid/TP40011195-CH4-SW9

Upvotes: 12

Related Questions