根据Apple的建议,在我的应用程序下载每个文件后,我使用let vertex_data_source = DataSource {
id: 0,
attributes: vec!(vertices),
current_element_array_buffer_binding: RefCell::new(None)
};
的finishandinvalidate方法。
然后应用程序必须下载新的更新文件,但我无法创建新的会话。
创建会话的方法是:
NSURLSession
答案 0 :(得分:2)
我解决了我的问题。 我正在使用Apple建议的这个片段:
- (NSURLSession *)backgroundSession
{
/*
Using disptach_once here ensures that multiple background sessions with the same identifier are not created in this instance of the application. If you want to support multiple background sessions within a single process, you should create each session with its own identifier.
*/
static NSURLSession *session = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration backgroundSessionConfiguration:@"com.example.apple-samplecode.SimpleBackgroundTransfer.BackgroundSession"];
session = [NSURLSession sessionWithConfiguration:configuration delegate:self delegateQueue:nil];
});
return session;
}
然后我的nsurlsession是静态的,只创建一次。
现在我在我的nsobject
的init方法中创建了nsurlsessionself = [super init];
if (self) {
NSURLSessionConfiguration *config = [NSURLSessionConfiguration backgroundSessionConfiguration:@"com.my.myapp"];
_session= [NSURLSession sessionWithConfiguration:config delegate:self delegateQueue:nil];
}
return self