NetworkExtension Changes for Swift
NetworkExtension
Added NEAppProxyFlow
Added NEAppProxyFlow.metaData
Added NEAppProxyFlow.openWithLocalEndpoint(_: NWHostEndpoint?, completionHandler: (NSError?) -> Void)
Added NEAppProxyProvider
Added NEAppProxyProvider.stopProxyWithReason(_: NEProviderStopReason, completionHandler: () -> Void)
Added NEAppProxyTCPFlow
Added NEAppProxyUDPFlow
Added NEAppRule
Added NEAppRule.matchDomains
Added NEDNSSettings
Added NEDNSSettings.domainName
Added NEDNSSettings.servers
Added NEFilterBrowserFlow
Added NEFilterControlProvider
Added NEFilterControlVerdict
Added NEFilterDataProvider
Added NEFilterDataProvider.handleOutboundDataCompleteForFlow(_: NEFilterFlow) -> NEFilterDataVerdict
Added NEFilterDataVerdict
Added NEFilterFlow
Added NEFilterFlow.URL
Added NEFilterManager
Added NEFilterManager.enabled
Added NEFilterNewFlowVerdict
Added NEFilterNewFlowVerdict.URLAppendStringVerdictWithMapKey(_: String) -> NEFilterNewFlowVerdict [class]
Added NEFilterProvider
Added NEFilterSocketFlow
Added NEFilterVerdict
Added NEFlowMetaData
Added NEHotspotHelper
Added NEHotspotHelperCommand
Added NEHotspotHelperResponse
Added NEHotspotNetwork
Added NEHotspotNetwork.BSSID
Added NEHotspotNetwork.secure
Added NEHotspotNetwork.SSID
Added NEIPv4Route
Added NEIPv4Settings
Added NEIPv4Settings.addresses
Added NEIPv6Route
Added NEIPv6Settings
Added NEIPv6Settings.addresses
Added NEPacketTunnelFlow
Added NEPacketTunnelProvider
Added NEPacketTunnelProvider.stopTunnelWithReason(_: NEProviderStopReason, completionHandler: () -> Void)
Added NEProvider
Added NEProvider.createUDPSessionToEndpoint(_: NWEndpoint, fromEndpoint: NWHostEndpoint?) -> NWUDPSession
Added NEProvider.defaultPath
Added NEProvider.wake()
Added NEProxyServer
Added NEProxyServer.address
Added NEProxyServer.password
Added NEProxyServer.port
Added NEProxyServer.username
Added NEProxySettings
Added NETunnelNetworkSettings
Added NETunnelProvider
Added NETunnelProviderManager
Added NETunnelProviderProtocol
Added NETunnelProviderSession
Added NETunnelProviderSession.sendProviderMessage(_: NSData, responseHandler: ((NSData?) -> Void)?) throws
Added NWBonjourServiceEndpoint
Added NWEndpoint
Added NWHostEndpoint
Added NWHostEndpoint.hostname
Added NWHostEndpoint.port
Added NWPath
Added NWPath.expensive
Added NWPath.status
Added NWPathStatus [enum]
Added NWPathStatus.Invalid
Added NWPathStatus.Satisfiable
Added NWPathStatus.Satisfied
Added NWPathStatus.Unsatisfied
Added NWTCPConnection
Added NWTCPConnection.cancel()
Added NWTCPConnection.endpoint
Added NWTCPConnection.error
Added NWTCPConnection.state
Added NWTCPConnection.viable
Added NWTCPConnectionAuthenticationDelegate.shouldEvaluateTrustForConnection(_: NWTCPConnection) -> Bool
Added NWTCPConnectionAuthenticationDelegate.shouldProvideIdentityForConnection(_: NWTCPConnection) -> Bool
Added NWTLSParameters
Added NWUDPSession
Added NWUDPSession.cancel()
Added NWUDPSession.currentPath
Added NWUDPSession.endpoint
Added NWUDPSession.state
Added NWUDPSession.viable
Added NWUDPSessionState [enum]
Added NWUDPSessionState.Failed
Added NWUDPSessionState.Ready
Added NEAppProxyErrorDomain
Added NEFilterErrorDomain
Added NEFilterFlowBytesMax
Added NEHotspotHelperHandler
Modified NEEvaluateConnectionRule
Declaration | |
---|---|
From | class NEEvaluateConnectionRule : NSObject, NSSecureCoding, NSCoding, NSCopying { init!(matchDomains domains: [AnyObject]!, andAction action: NEEvaluateConnectionRuleAction) var action: NEEvaluateConnectionRuleAction { get } var matchDomains: [AnyObject]! { get } var useDNSServers: [AnyObject]! @NSCopying var probeURL: NSURL! } |
To | class NEEvaluateConnectionRule : NSObject, NSSecureCoding, NSCoding, NSCopying { init(matchDomains domains: [String], andAction action: NEEvaluateConnectionRuleAction) var action: NEEvaluateConnectionRuleAction { get } var matchDomains: [String] { get } var useDNSServers: [String]? @NSCopying var probeURL: NSURL? } |
Modified NEEvaluateConnectionRule.init(matchDomains: [String], andAction: NEEvaluateConnectionRuleAction)
Declaration | |
---|---|
From | init!(matchDomains domains: [AnyObject]!, andAction action: NEEvaluateConnectionRuleAction) |
To | init(matchDomains domains: [String], andAction action: NEEvaluateConnectionRuleAction) |
Declaration | |
---|---|
From | var matchDomains: [AnyObject]! { get } |
To | var matchDomains: [String] { get } |
Modified NEEvaluateConnectionRule.probeURL
Declaration | |
---|---|
From | @NSCopying var probeURL: NSURL! |
To | @NSCopying var probeURL: NSURL? |
Declaration | |
---|---|
From | var useDNSServers: [AnyObject]! |
To | var useDNSServers: [String]? |
Introduction | Raw Value Type | |
---|---|---|
From | iOS 8.1 | -- |
To | iOS 8.0 | Int |
Modified NEOnDemandRule
Declaration | |
---|---|
From | class NEOnDemandRule : NSObject, NSSecureCoding, NSCoding, NSCopying { var action: NEOnDemandRuleAction { get } var DNSSearchDomainMatch: [AnyObject]! var DNSServerAddressMatch: [AnyObject]! var interfaceTypeMatch: NEOnDemandRuleInterfaceType var SSIDMatch: [AnyObject]! @NSCopying var probeURL: NSURL! } |
To | class NEOnDemandRule : NSObject, NSSecureCoding, NSCoding, NSCopying { var action: NEOnDemandRuleAction { get } var DNSSearchDomainMatch: [String]? var DNSServerAddressMatch: [String]? var interfaceTypeMatch: NEOnDemandRuleInterfaceType var SSIDMatch: [String]? @NSCopying var probeURL: NSURL? } |
Modified NEOnDemandRule.DNSSearchDomainMatch
Declaration | |
---|---|
From | var DNSSearchDomainMatch: [AnyObject]! |
To | var DNSSearchDomainMatch: [String]? |
Modified NEOnDemandRule.DNSServerAddressMatch
Declaration | |
---|---|
From | var DNSServerAddressMatch: [AnyObject]! |
To | var DNSServerAddressMatch: [String]? |
Modified NEOnDemandRule.probeURL
Declaration | |
---|---|
From | @NSCopying var probeURL: NSURL! |
To | @NSCopying var probeURL: NSURL? |
Modified NEOnDemandRule.SSIDMatch
Declaration | |
---|---|
From | var SSIDMatch: [AnyObject]! |
To | var SSIDMatch: [String]? |
Modified NEOnDemandRuleAction [enum]
Raw Value Type | |
---|---|
From | -- |
To | Int |
Modified NEOnDemandRuleEvaluateConnection
Declaration | |
---|---|
From | class NEOnDemandRuleEvaluateConnection : NEOnDemandRule { var connectionRules: [AnyObject]! } |
To | class NEOnDemandRuleEvaluateConnection : NEOnDemandRule { var connectionRules: [NEEvaluateConnectionRule]? } |
Declaration | |
---|---|
From | var connectionRules: [AnyObject]! |
To | var connectionRules: [NEEvaluateConnectionRule]? |
Modified NEOnDemandRuleInterfaceType [enum]
Declaration | Raw Value Type | |
---|---|---|
From | enum NEOnDemandRuleInterfaceType : Int { case Ethernet case WiFi case Cellular } | -- |
To | enum NEOnDemandRuleInterfaceType : Int { case Any case Ethernet case WiFi case Cellular } | Int |
Modified NEVPNConnection
Declaration | |
---|---|
From | class NEVPNConnection : NSObject { func startVPNTunnelAndReturnError(_ error: NSErrorPointer) -> Bool func stopVPNTunnel() var status: NEVPNStatus { get } } |
To | class NEVPNConnection : NSObject { func startVPNTunnel() throws func startVPNTunnelWithOptions(_ options: [String : NSObject]?) throws func stopVPNTunnel() var status: NEVPNStatus { get } var connectedDate: NSDate? { get } } |
Declaration | |
---|---|
From | func startVPNTunnelAndReturnError(_ error: NSErrorPointer) -> Bool |
To | func startVPNTunnel() throws |
Modified NEVPNError [enum]
Declaration | Raw Value Type | |
---|---|---|
From | enum NEVPNError : Int { case ConfigurationInvalid case ConfigurationDisabled case ConnectionFailed case ConfigurationStale } | -- |
To | enum NEVPNError : Int { case ConfigurationInvalid case ConfigurationDisabled case ConnectionFailed case ConfigurationStale case ConfigurationReadWriteFailed case ConfigurationUnknown } | Int |
Modified NEVPNIKEAuthenticationMethod [enum]
Raw Value Type | |
---|---|
From | -- |
To | Int |
Modified NEVPNIKEv2CertificateType [enum]
Introduction | Raw Value Type | |
---|---|---|
From | iOS 8.0 | -- |
To | iOS 8.3 | Int |
Raw Value Type | |
---|---|
From | -- |
To | Int |
Modified NEVPNIKEv2DiffieHellmanGroup [enum]
Raw Value Type | |
---|---|
From | -- |
To | Int |
Modified NEVPNIKEv2EncryptionAlgorithm [enum]
Raw Value Type | |
---|---|
From | -- |
To | Int |
Modified NEVPNIKEv2IntegrityAlgorithm [enum]
Raw Value Type | |
---|---|
From | -- |
To | Int |
Modified NEVPNManager
Declaration | |
---|---|
From | class NEVPNManager : NSObject { class func sharedManager() -> NEVPNManager! func loadFromPreferencesWithCompletionHandler(_ completionHandler: ((NSError!) -> Void)!) func removeFromPreferencesWithCompletionHandler(_ completionHandler: ((NSError!) -> Void)!) func saveToPreferencesWithCompletionHandler(_ completionHandler: ((NSError!) -> Void)!) var onDemandRules: [AnyObject]! var onDemandEnabled: Bool var localizedDescription: String! var `protocol`: NEVPNProtocol! var connection: NEVPNConnection! { get } var enabled: Bool } |
To | class NEVPNManager : NSObject { class func sharedManager() -> NEVPNManager func loadFromPreferencesWithCompletionHandler(_ completionHandler: (NSError?) -> Void) func removeFromPreferencesWithCompletionHandler(_ completionHandler: ((NSError?) -> Void)?) func saveToPreferencesWithCompletionHandler(_ completionHandler: ((NSError?) -> Void)?) var onDemandRules: [NEOnDemandRule]? var onDemandEnabled: Bool var localizedDescription: String? var `protocol`: NEVPNProtocol? var protocolConfiguration: NEVPNProtocol? var connection: NEVPNConnection { get } var enabled: Bool } |
Modified NEVPNManager.connection
Declaration | |
---|---|
From | var connection: NEVPNConnection! { get } |
To | var connection: NEVPNConnection { get } |
Declaration | |
---|---|
From | func loadFromPreferencesWithCompletionHandler(_ completionHandler: ((NSError!) -> Void)!) |
To | func loadFromPreferencesWithCompletionHandler(_ completionHandler: (NSError?) -> Void) |
Modified NEVPNManager.localizedDescription
Declaration | |
---|---|
From | var localizedDescription: String! |
To | var localizedDescription: String? |
Modified NEVPNManager.onDemandRules
Declaration | |
---|---|
From | var onDemandRules: [AnyObject]! |
To | var onDemandRules: [NEOnDemandRule]? |
Modified NEVPNManager.protocol
Declaration | Deprecation | |
---|---|---|
From | var `protocol`: NEVPNProtocol! | -- |
To | var `protocol`: NEVPNProtocol? | iOS 9.0 |
Declaration | |
---|---|
From | func removeFromPreferencesWithCompletionHandler(_ completionHandler: ((NSError!) -> Void)!) |
To | func removeFromPreferencesWithCompletionHandler(_ completionHandler: ((NSError?) -> Void)?) |
Declaration | |
---|---|
From | func saveToPreferencesWithCompletionHandler(_ completionHandler: ((NSError!) -> Void)!) |
To | func saveToPreferencesWithCompletionHandler(_ completionHandler: ((NSError?) -> Void)?) |
Declaration | |
---|---|
From | class func sharedManager() -> NEVPNManager! |
To | class func sharedManager() -> NEVPNManager |
Modified NEVPNProtocol
Declaration | |
---|---|
From | class NEVPNProtocol : NSObject, NSCopying, NSSecureCoding, NSCoding { var serverAddress: String! var username: String! @NSCopying var passwordReference: NSData! @NSCopying var identityReference: NSData! @NSCopying var identityData: NSData! var identityDataPassword: String! var disconnectOnSleep: Bool } |
To | class NEVPNProtocol : NSObject, NSCopying, NSSecureCoding, NSCoding { var serverAddress: String? var username: String? @NSCopying var passwordReference: NSData? @NSCopying var identityReference: NSData? @NSCopying var identityData: NSData? var identityDataPassword: String? var disconnectOnSleep: Bool @NSCopying var proxySettings: NEProxySettings? } |
Modified NEVPNProtocol.identityData
Declaration | |
---|---|
From | @NSCopying var identityData: NSData! |
To | @NSCopying var identityData: NSData? |
Modified NEVPNProtocol.identityDataPassword
Declaration | |
---|---|
From | var identityDataPassword: String! |
To | var identityDataPassword: String? |
Modified NEVPNProtocol.passwordReference
Declaration | |
---|---|
From | @NSCopying var passwordReference: NSData! |
To | @NSCopying var passwordReference: NSData? |
Modified NEVPNProtocol.serverAddress
Declaration | |
---|---|
From | var serverAddress: String! |
To | var serverAddress: String? |
Modified NEVPNProtocol.username
Declaration | |
---|---|
From | var username: String! |
To | var username: String? |
Modified NEVPNProtocolIKEv2
Declaration | |
---|---|
From | class NEVPNProtocolIKEv2 : NEVPNProtocolIPSec { var deadPeerDetectionRate: NEVPNIKEv2DeadPeerDetectionRate var serverCertificateIssuerCommonName: String! var serverCertificateCommonName: String! var certificateType: NEVPNIKEv2CertificateType var IKESecurityAssociationParameters: NEVPNIKEv2SecurityAssociationParameters! { get } var childSecurityAssociationParameters: NEVPNIKEv2SecurityAssociationParameters! { get } } |
To | class NEVPNProtocolIKEv2 : NEVPNProtocolIPSec { var deadPeerDetectionRate: NEVPNIKEv2DeadPeerDetectionRate var serverCertificateIssuerCommonName: String? var serverCertificateCommonName: String? var certificateType: NEVPNIKEv2CertificateType var useConfigurationAttributeInternalIPSubnet: Bool var IKESecurityAssociationParameters: NEVPNIKEv2SecurityAssociationParameters { get } var childSecurityAssociationParameters: NEVPNIKEv2SecurityAssociationParameters { get } var disableMOBIKE: Bool var disableRedirect: Bool var enablePFS: Bool var enableRevocationCheck: Bool var strictRevocationCheck: Bool } |
Modified NEVPNProtocolIKEv2.certificateType
Introduction | |
---|---|
From | iOS 8.0 |
To | iOS 8.3 |
Declaration | |
---|---|
From | var childSecurityAssociationParameters: NEVPNIKEv2SecurityAssociationParameters! { get } |
To | var childSecurityAssociationParameters: NEVPNIKEv2SecurityAssociationParameters { get } |
Declaration | |
---|---|
From | var IKESecurityAssociationParameters: NEVPNIKEv2SecurityAssociationParameters! { get } |
To | var IKESecurityAssociationParameters: NEVPNIKEv2SecurityAssociationParameters { get } |
Declaration | |
---|---|
From | var serverCertificateCommonName: String! |
To | var serverCertificateCommonName: String? |
Declaration | |
---|---|
From | var serverCertificateIssuerCommonName: String! |
To | var serverCertificateIssuerCommonName: String? |
Modified NEVPNProtocolIPSec
Declaration | |
---|---|
From | class NEVPNProtocolIPSec : NEVPNProtocol { var authenticationMethod: NEVPNIKEAuthenticationMethod var useExtendedAuthentication: Bool @NSCopying var sharedSecretReference: NSData! var localIdentifier: String! var remoteIdentifier: String! } |
To | class NEVPNProtocolIPSec : NEVPNProtocol { var authenticationMethod: NEVPNIKEAuthenticationMethod var useExtendedAuthentication: Bool @NSCopying var sharedSecretReference: NSData? var localIdentifier: String? var remoteIdentifier: String? } |
Modified NEVPNProtocolIPSec.localIdentifier
Declaration | |
---|---|
From | var localIdentifier: String! |
To | var localIdentifier: String? |
Modified NEVPNProtocolIPSec.remoteIdentifier
Declaration | |
---|---|
From | var remoteIdentifier: String! |
To | var remoteIdentifier: String? |
Declaration | |
---|---|
From | @NSCopying var sharedSecretReference: NSData! |
To | @NSCopying var sharedSecretReference: NSData? |
Modified NEVPNStatus [enum]
Raw Value Type | |
---|---|
From | -- |
To | Int |