我想对 NSURLSession 类进行子类化,但我在初始化时遇到问题。基本上我重写构造函数并在那里初始化常量,authUrl然后调用父 init 方法。
class NSURLAuthSession: NSURLSession {
    let authUrl:NSURL;
    //Error: Initializer does not override a designated initializer from its superclass
    override init(configuration: NSURLSessionConfiguration, delegate: NSURLSessionDelegate?, delegateQueue queue: NSOperationQueue?){
        self.authUrl = NSURL.URLWithBaseURLString("http://192.168.10.105:8888/api/v1", pathSegments: ["users", "login"])!
        super.init(configuration: configuration, delegate: delegate, delegateQueue: queue)
    }
}
从 NSURLSession 的源代码中我发现它有两个初始化器:
public /*not inherited*/ init(configuration: NSURLSessionConfiguration)
public /*not inherited*/ init(configuration: NSURLSessionConfiguration, delegate: NSURLSessionDelegate?, delegateQueue queue: NSOperationQueue?)
我期望“最长”的初始化程序是指定的初始化程序,但事实并非如此。我怀疑指定的初始值设定项init()甚至没有在源代码中指定。如何覆盖初始化程序并设置配置NSURLSessionConfiguration?
我正在尝试访问NSURLSessionConfiguration 
我尝试过以下语句来检索实例的实例NSURLSessionConfiguration.
声明1.
 NSURLSessionConfiguration *aConfig = 
     [NSURLSessionConfiguration defaultSessionConfiguration];
上述声明返回 nil
声明2.
 NSURLSessionConfiguration *aConfig = 
     = [[NSURLSessionConfiguration alloc] init];
上述声明也会返回nil.
谁能告诉我NSURLSessionConfiguration课上有什么问题?

我在我的项目中尝试使用此代码在后台下载大文件,它工作正常.我开始在UIViewController中下载.如果我转到另一个视图并返回到UIViewController,它将停止重新加载进度条.
我得到了背景URLSession的问题,标识符已经存在!我想在每次加载UIViewController时创建新的会话.我想在关闭视图控制器时使所有后台会话无效.我尝试了解决这个问题的所有可能性,但没有成功.
在我的应用程序中,我只想在可以访问互联网的情况下拨打网络电话。
注意:我连接到没有互联网的 WiFi 点
我想测试互联网是否可用。我尝试使用这里描述的可达性,我也尝试了一个更简单的解决方案,如这里描述
问题在于 Reachability 会返回 Internet 可达的信息,而当它不可达时。另一种解决方案需要太多时间才能做出响应。我试图为请求和会话设置超时间隔,但它被忽略了。
如果我连接到没有互联网的 wifi,如何测试互联网可达性?
这是我使用的一些代码:
- (void) postAsyncTaskWithUrl:(NSString*)urlString
                      andType:(NSString*)requestType
                     andToken:(NSString*)token
          andPropertiesObject:(id)propObject
                   urlEncoded:(BOOL)isUrlEncoded
                  withSuccess:(nullable void(^)(id _Nullable))success
                   andFailure:(nullable void(^)(id _Nullable))failure
{
    internetReachableFoo = [Reachability reachabilityWithHostname:@"www.google.com"];
    __weak typeof(self) weakSelf = self;
    // Internet is reachable
    internetReachableFoo.reachableBlock = ^(Reachability*reach)
    {
                 NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:urlSt];
        [request setTimeoutInterval:20]; //Ignored ... WHY?
        NSURLSessionConfiguration *sessionConfigurations = [NSURLSessionConfiguration defaultSessionConfiguration];
        [sessionConfigurations setTimeoutIntervalForRequest:20]; //Ignored ... WHY?
        [sessionConfigurations setTimeoutIntervalForResource:20]; //Ignored ... WHY?
//        NSURLSession *session = [NSURLSession sharedSession]; …nsurlrequest reachability ios nsurlsession nsurlsessionconfiguration