Upgrade to Pro — share decks privately, control downloads, hide ads and more …

App Transport Securityとローカルネットワーキング/iOSDC Japan 2017

Noritaka Kamiya
September 16, 2017

App Transport Securityとローカルネットワーキング/iOSDC Japan 2017

https://iosdc.jp/2017/node/1443

App Transport Securityとローカルネットワーキング
Noritaka Kamiya (@nolili)
App Transport Securityが発表された時、我々は戦慄しました。ローカルネットワーク上のIoTデバイスとHTTPで通信する手段を失ってしまうのです。 ATSを無効にしちゃうのか? それでApp Storeの審査は通るのか? libcurlならいけるのでは? HTTPクライアントを自分たちで作る?
このトークは2年間にわたるApp Transport Securityとの戦い、その記録です。

Noritaka Kamiya

September 16, 2017
Tweet

More Decks by Noritaka Kamiya

Other Decks in Programming

Transcript

  1. class Browser: NSObject, NetServiceBrowserDelegate, NetServiceDelegate { var serviceBrowser = NetServiceBrowser()

    var services = [NetService]() func start() { serviceBrowser.delegate = self serviceBrowser. searchForServices(ofType: "_http._tcp.", inDomain: "local") } func netServiceBrowser(_ browser: NetServiceBrowser, didFind service: NetService, moreComing: Bool) { services.append(service) service.delegate = self service.resolve(withTimeout: 1.0) } func netServiceDidResolveAddress(_ sender: NetService) { print(sender.hostName!, sender.addresses!) } }
  2. class Browser: NSObject, NetServiceBrowserDelegate, NetServiceDelegate { var serviceBrowser = NetServiceBrowser()

    var services = [NetService]() func start() { serviceBrowser.delegate = self serviceBrowser. searchForServices(ofType: "_http._tcp.", inDomain: "local") } func netServiceBrowser(_ browser: NetServiceBrowser, didFind service: NetService, moreComing: Bool) { services.append(service) service.delegate = self service.resolve(withTimeout: 1.0) } func netServiceDidResolveAddress(_ sender: NetService) { print(sender.hostName!, sender.addresses!) } } NZEFWJDFMPDBM