2

Yo. Я работаю с AWS S3 SDK на iOS и должен загружать большие файлы (видео).AWSS3TransferUtility background upload - отключить сотовый доступ (только wi-fi)

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

Кроме того, поскольку они большие, я хочу, чтобы приостанавливал загрузку, если не подключен к WiFi, и возобновляется при повторном подключении. Я считаю, что это характер NSURLSession, настроенный с allowsCellularAccess = NO.

Поскольку я не могу, пока приложение находится в фоновом режиме или завершено, часы достигают и вручную приостанавливают/возобновляют задачи, я ожидаю, что это должно быть настроено на AWSS3TransferUtility, но, увы, не нашли никаких средств для этого.

Кто-нибудь знает, возможно ли это, и как достичь указанной цели?

Очень ценный.

-

PS: Пример кода я работаю является примером проекта Амазонка: https://github.com/awslabs/aws-sdk-ios-samples/tree/master/S3BackgroundTransfer-Sample

Obj-C, IOS 9

+1

В настоящее время SDK не раскрывает 'AWSNSURLSessionConfiguration'. Если вы используете CocoaPods, вы можете изменить код SDK для себя. Аналогичный [запрос функции] (https://github.com/aws/aws-sdk-ios/issues/279) открыт в репозитории GitHub. Вы можете запросить это как запрос функции там. –

+0

Спасибо, я ценю помощь! – beebcon

ответ

1

Это стало возможным, так как из AWS SDK v2.3.6:

let credentialsProvider = AWSCognitoCredentialsProvider(regionType: myRegion, identityPoolId: myIdentityPoolId) 
let configuration = AWSServiceConfiguration(region: myRegion, credentialsProvider: credentialsProvider) 
configuration.allowsCellularAccess = false 
AWSServiceManager.defaultServiceManager().defaultServiceConfiguration = configuration 
+0

все еще эффективен, чтобы изменить его во время работы? – JSBach

+0

@ Dincer нет, я так не думаю. Я думаю, вам нужно порвать все это и восстановить. Однако я этого не реализовал. – fractious

+0

Да, вот как я пошел. Однако, если я не ошибаюсь, URLSessionTask может противостоять приостановке текущей задачи. Возможно, вам придется подождать, пока он сдастся. Затем сделайте сотовую вещь и возобновите. – JSBach

 Смежные вопросы

  • Нет связанных вопросов^_^