Если мы создадим уникальный идентификатор сеанса разницы для всех загружаемых файлов различий - swift - PullRequest
0 голосов
/ 29 мая 2018

Я новичок в программировании на IOS.Я хочу создать пример приложения, которое позволит пользователю загружать много файлов с моего сервера.Например, у меня есть 10 файлов, тогда я должен вызвать метод let configuration = URLSessionConfiguration.background(withIdentifier: "firstTask") 10 раз, но идентификатор разницы, такой как первый файл withIdentifier: "firstTask" и второй файл, должен быть withIdentifier: "secondTask" ?.Причина в том, что я хочу, чтобы пользователь мог загрузить то же имя файла, а затем просто изменить withIdentifier: "" с другим именем.Это правильно?Пожалуйста, дайте мне несколько советов.

Другой вопрос:

Как мы можем сделать недействительным сеанс с конкретным идентификатором?

1 Ответ

0 голосов
/ 29 мая 2018

Согласно документации :

идентификатор Уникальный идентификатор объекта конфигурации.Этот параметр не должен быть nil или пустой строкой.

Также есть оператор:

Если приложение iOS завершается системой и перезапускается, приложение может использовать тот же идентификатор для создания нового объекта конфигурации исеанс и получить статус переводов, которые выполнялись в момент прекращения.Это поведение применяется только для нормального завершения приложения системой.Если пользователь закрывает приложение с экрана многозадачности, система отменяет все фоновые передачи сеанса.Кроме того, система не запускает автоматически приложения, которые были принудительно закрыты пользователем.Пользователь должен явно перезапустить приложение, прежде чем передачи начнутся снова.

Наконец :

Создать фоновый объект URLSessionConfiguration с фоном метода класса (withIdentifier :) URLSession, предоставляя уникальный идентификатор сеанса в вашем приложении.Поскольку большинству приложений требуется только несколько фоновых сессий (обычно один), вы можете использовать фиксированную строку для идентификатора, а не динамически генерируемый идентификатор.Идентификатор не обязательно должен быть уникальным во всем мире.

Поэтому разумно использовать один уникальный identifier для вашего приложения.Например, он может содержать идентификатор пакета, например, com.awesomeapps.appname.sessionId для всего приложения.

...