标签: nsurlsessionconfiguration

在继承 NSURLSession Swift 子类时,初始化器不会覆盖指定的初始化器

我想对 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)
    }
}
Run Code Online (Sandbox Code Playgroud)

从 NSURLSession 的源代码中我发现它有两个初始化器:

public /*not inherited*/ init(configuration: NSURLSessionConfiguration)
public /*not inherited*/ init(configuration: NSURLSessionConfiguration, delegate: NSURLSessionDelegate?, delegateQueue queue: NSOperationQueue?)
Run Code Online (Sandbox Code Playgroud)

我期望“最长”的初始化程序是指定的初始化程序,但事实并非如此。我怀疑指定的初始值设定项init()甚至没有在源代码中指定。如何覆盖初始化程序并设置配置NSURLSessionConfiguration

subclassing nsurlsession nsurlsessionconfiguration swift

2
推荐指数
1
解决办法
2480
查看次数

NSURLSessionConfiguration始终返回nil

我正在尝试访问NSURLSessionConfiguration
我尝试过以下语句来检索实例的实例NSURLSessionConfiguration.

声明1.

 NSURLSessionConfiguration *aConfig = 
     [NSURLSessionConfiguration defaultSessionConfiguration];
Run Code Online (Sandbox Code Playgroud)

上述声明返回 nil

声明2.

 NSURLSessionConfiguration *aConfig = 
     = [[NSURLSessionConfiguration alloc] init];
Run Code Online (Sandbox Code Playgroud)

上述声明也会返回nil.

谁能告诉我NSURLSessionConfiguration课上有什么问题?

在此输入图像描述

objective-c ios nsurlsession nsurlsessionconfiguration

1
推荐指数
1
解决办法
476
查看次数

带有标识符的后台URLSession的问题

我在我的项目中尝试使用此代码在后台下载大文件,它工作正常.我开始在UIViewController中下载.如果我转到另一个视图并返回到UIViewController,它将停止重新加载进度条.

我得到了背景URLSession的问题,标识符已经存在!我想在每次加载UIViewController时创建新的会话.我想在关闭视图控制器时使所有后台会话无效.我尝试了解决这个问题的所有可能性,但没有成功.

点击这里

nsurlsession nsurlsessionconfiguration nsurlsessiondatatask

0
推荐指数
1
解决办法
2667
查看次数

检查 Internet 访问是否可用

在我的应用程序中,我只想在可以访问互联网的情况下拨打网络电话。

注意:我连接到没有互联网的 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]; …
Run Code Online (Sandbox Code Playgroud)

nsurlrequest reachability ios nsurlsession nsurlsessionconfiguration

0
推荐指数
1
解决办法
394
查看次数