Я создал расширение для моего приложения ios. Когда я нажимаю на параметр share в приложении для фотографий, отображается мое расширение для общего доступа, и я нажимаю на него, и мой контроллер отображается. Все работает хорошо. Я загружаю видео на youtube с помощью apt youtube. Я использую этот метод, чтобы создать параметрконвертирование видео в NSData в расширение общего доступа в ios
GTLUploadParameters *uploadParameters = [GTLUploadParameters uploadParametersWithData:fileData MIMEType:@"video/*"];
Теперь, если видео мало, то она легко превращаются в NSData используя этот код
NSData *fileData = [NSData dataWithContentsOfURL:[NSURL URLWithString:videoURL]];
и все работает и видео загружается.
Но если видео большое, то оно просто сбой и выход из расширения общего доступа (я поставил точку останова и нашел эту проблему. Если я удалю преобразование fileData, то это не сбой.). Так что я сделал, вместо того, чтобы преобразовать его в NSData Я использовал этот метод апи юность
GTLUploadParameters *uploadParameters = [GTLUploadParameters uploadParametersWithFileURL:[NSURL URLWithString:videoURL] MIMEType:@"video/*"];
Теперь приложение не врезаться, но я получаю сообщение об ошибке сети. Ошибка
Ошибка домена = NSURLErrorDomain Code = -995 "(нуль)"
мало поиска найдено, что это из-за NSURLSession и сказал, чтобы использовать что-то вроде этого
sessionConfiguration.sharedContainerIdentifier = @“com.me.myapp.containerIdentifier”;
Я использую youtube api. Я не уверен, где его использовать ИЛИ есть ли другой способ использования youtube api в расширении share с большим видеофайлом.
ПРИМЕЧАНИЕ: Я использую youtube api в своем приложении и его рабочий режим с NSData.
Надежность вопрос ясный. Я застрял на нем целый день. Пожалуйста помоги.
Заранее спасибо.
EDIT 1:
Я использовал этот код
NSData *fileData = [NSData dataWithContentsOfURL:[NSURL fileURLWithPath:videoURL] options:0 error:&error];
FileData равна нулю. Ошибка я получаю
Ошибки домена = NSCocoaErrorDomain Code = 260 «Файл„IMG_2187.MOV“ не может быть открыт, потому что нет такого файла.» UserInfo = {NSFilePath =/файл: /var/mobile/Media/DCIM/102APPLE/IMG_2187.MOV,
«NSURLErrorBackgroundSessionRequiresSharedContainer» (что является ошибкой '-995') заставляет меня подозревать, что фоновое обслуживание не нравится, как ссылка на что-то вне вашего контейнера. Возможно, попробуйте скопировать его в свои документы или временную папку, а затем загрузите с помощью 'uploadParametersWithFileURL', используя файлURL. – Rob
FWIW, похоже, именно здесь Сергей собирался в его ответе ... – Rob