Rodhos Soft

備忘録を兼ねた技術的なメモです。Rofhos SoftではiOSアプリ開発を中心としてAndroid, Webサービス等の開発を承っております。まずはご相談下さい。

URLSessionConfigurationのメモ

URLSessionConfigurationのメモ

こちらに良い記事があった。
qiita.com




とりあえずメソッド一覧。あとから説明を追記する形で。

open class URLSessionConfiguration : NSObject, NSCopying {
    
// デフォルト
    open class var `default`: URLSessionConfiguration { get }

// 一時的
    open class var ephemeral: URLSessionConfiguration { get }


// バックグラウンド    
    @available(iOS 8.0, *)
    open class func background(withIdentifier identifier: String) -> URLSessionConfiguration

// backgroundクラスメソッドで作ったときのみ
    open var identifier: String? { get }

// キャッシュポリシー
    open var requestCachePolicy: NSURLRequest.CachePolicy

// リクエストに対するタイムアウト時間    
    open var timeoutIntervalForRequest: TimeInterval

// リソースに対するタイム時間
    open var timeoutIntervalForResource: TimeInterval

// ネットワークのサービスタイプ    
/*
    public enum NetworkServiceType : UInt {
        
        case `default` // Standard internet traffic

        case voip // Voice over IP control traffic

        case video // Video traffic

        case background // Background traffic

        case voice // Voice data

        @available(iOS 10.0, *)
        case networkServiceTypeCallSignaling // Call Signaling
    }
*/
    open var networkServiceType: NSURLRequest.NetworkServiceType

// 電話回線でのアクセスを許すか    
    open var allowsCellularAccess: Bool


//  状況により通信処理の優先度を下げてよいか
    @available(iOS 7.0, *)
    open var isDiscretionary: Bool

//     
    @available(iOS 8.0, *)
    open var sharedContainerIdentifier: String?

//     
    @available(iOS 7.0, *)
    open var sessionSendsLaunchEvents: Bool

//     
    open var connectionProxyDictionary: [AnyHashable : Any]?

//    
    open var tlsMinimumSupportedProtocol: SSLProtocol

//    
    open var tlsMaximumSupportedProtocol: SSLProtocol

//    
    open var httpShouldUsePipelining: Bool

//    
    open var httpShouldSetCookies: Bool

//    
    open var httpCookieAcceptPolicy: HTTPCookie.AcceptPolicy

 // ヘッダー  
    open var httpAdditionalHeaders: [AnyHashable : Any]?

 // ホストあたりの最大接続数   
    open var httpMaximumConnectionsPerHost: Int

// クッキー    
    open var httpCookieStorage: HTTPCookieStorage?

//    
    open var urlCredentialStorage: URLCredentialStorage?

// URLキャッシュ    
    open var urlCache: URLCache?

//    
    @available(iOS 9.0, *)
    open var shouldUseExtendedBackgroundIdleMode: Bool

//    
    open var protocolClasses: [Swift.AnyClass]?
}
extension URLSession {