title: startVPNTunnel on NETunnelProviderManager iOS 9
body: <p>Since the release of iOS 9 beta, Apple open NetworkExtension.framework which let developers to implement custom protocol VPN client on device.</p>
  
  <p>When I tried to connect a customized VPN with following code</p>
  
  <pre><code>    let providerProtocol = NETunnelProviderProtocol()
      providerProtocol.serverAddress = "example.com"
  
      let manager = NETunnelProviderManager()
      manager.protocolConfiguration = providerProtocol
      manager.enabled = true
      manager.saveToPreferencesWithCompletionHandler({ error in
          guard error == nil else {
              print("saveToPreferencesWithCompletionHandler \(error)")
              return
          }
  
          do {
              try manager.connection.startVPNTunnel()
          } catch {
              print("startVPNTunnel \(error)")
          }
      })
  </code></pre>
  
  <p>It will failed with <code>startVPNTunnel Error Domain=NEVPNErrorDomain Code=1 "(null)"</code></p>