Форум программистов, компьютерный форум CyberForum.ru

Objective-C

Войти
Регистрация
Восстановить пароль
 
paparotnik
0 / 0 / 0
Регистрация: 27.11.2012
Сообщений: 60
#1

Работа с большими файламив Dropbox - Objective-C

24.09.2013, 17:24. Просмотров 709. Ответов 9
Метки нет (Все метки)

Всем привет, пытаюсь оперировать большими файлами используя Sync API для iOS
Моя программа шифрует файлы в режиме stream, и я записываю шифрованные части (по ~320000 bytes) методом
[file appendData:data error:nil];
file - переменная формата DBFile
Когда размеры файла доходят до 80 мб программа вылетает и не выдает ошибки
По ходу выполнения программы выдаются ошибки recieve memory warning, хотя переменные дополнительно никакие не используются

Какие есть способы управления большими файлами для dropbox апи для ios? или в чем моя ошибка?
И есть ли аналог метода [file appendData:data error:nil]; только для скачивания файла?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.09.2013, 17:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа с большими файламив Dropbox (Objective-C):

Работа с большими файлами + шифрование - Objective-C
Всем привет! Столкнулся с проблемой получения файлов большого размера(>1.5Gb на симуляторе) например из папки ресурсов. в NSData просто...

работа c dropbox - C# ASP.NET
Добрый день! Появилась необходимость в программе связываться с сервисом dropbox. Как оказалось, данный сервис не поддерживает протокол...

Работа с Dropbox через HTTP (GET/POST) - C#
Задача: работать с Dropbox(скачивать/закачивать файлы) через Dropbox API с помощью HTTP запросов. Я знаю что есть библиотеки Dropbox API...

Работа с большими числами - Assembler
Написала программу, с маленькими числами работает. Подскажите, пожалуйста, как сделать, чтобы с большими числами работала. text segment...

Работа с большими числами - C++
Подскажиье, пожалуйста, как работать с большими числами. Допустим у меня есть число...

MySQL Работа с большими данными - PHP БД
Здравствуйте. Так получилось, что сейчас надо написать сайт с большим количеством контента (таблица с контентом > 1GB). И я хочу что-бы вы...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
zulkis
682 / 609 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
24.09.2013, 20:57 #2
Ну так пишите сразу на диск.
Зачем в памяти держать?
Используйте класс NSFileHandle.
paparotnik
0 / 0 / 0
Регистрация: 27.11.2012
Сообщений: 60
25.09.2013, 12:45  [ТС] #3
При помощи FileHandler можно сохранить данные на диск так же, как и при помощи NSData? я просто не вижу там метода для сохранения в локальную директорию

Можете объяснить логику: у меня есть файл, я беру у него FileHandler, это означает что я беру информацию о нем? а что происходит с остальным файлом?

У меня же есть только объект с типом dropbox sdk DBFile, оттуда можно вытащить handler тоже, но я не понимаю, как с помощью него закачать файл сразу на диск, не используя при этом переменную. В режиме стрима я понял как записывать только, там специальный метод, а для скачивания похожего метода нет
zulkis
682 / 609 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
25.09.2013, 14:19 #4
Цитата Сообщение от paparotnik Посмотреть сообщение
я просто не вижу там метода для сохранения в локальную директорию
- (void)writeDataNSData *)data;
затем
- (void)synchronizeFile;

Цитата Сообщение от paparotnik Посмотреть сообщение
Можете объяснить логику: у меня есть файл, я беру у него FileHandler, это означает что я беру информацию о нем? а что происходит с остальным файлом?
Ни у чего вы не берете FileHandler. Это класс - обвязка для того, чтобы высокоуровнево работать с файлом(запись, чтение, поиск).
Что значит с остальным файлом?
Цитата Сообщение от paparotnik Посмотреть сообщение
У меня же есть только объект с типом dropbox sdk DBFile, оттуда можно вытащить handler тоже, но я не понимаю, как с помощью него закачать файл сразу на диск, не используя при этом переменную. В режиме стрима я понял как записывать только, там специальный метод, а для скачивания похожего метода нет
Что такое DBFile?
Какой handler?
как с помощью него закачать файл сразу на диск
Приходит часть данных, дописали к своему файлу, ждете следующую часть.
paparotnik
0 / 0 / 0
Регистрация: 27.11.2012
Сообщений: 60
25.09.2013, 17:39  [ТС] #5
Я имею ввиду sdk dropbox sync for ios, изначально вопрос я задал и там написал, что отталкиваюсь от него.

Решил проблему с чтением, теперь проблема в том, что запись по частям на дропбокс не работает при больших объемах, то бишь допустим два раза по 40мб дописывает в файл и падает на третьем разе
zulkis
682 / 609 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
25.09.2013, 20:20 #6
Цитата Сообщение от paparotnik Посмотреть сообщение
то бишь допустим два раза по 40мб дописывает в файл и падает на третьем разе
Если вы "предыдущие" 2 раза память чистили - ничего упасть не должно было.
Если время позволит - доберусь до Dropbox SDK снова, посмотрю как там. У меня таких проблем с его использованием не было.
mobidevelop
182 / 182 / 3
Регистрация: 10.01.2013
Сообщений: 596
25.09.2013, 22:50 #7
Цитата Сообщение от paparotnik Посмотреть сообщение
два раза по 40мб дописывает в файл и падает на третьем разе
В файл? Или опять в NSData?
zulkis
682 / 609 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
26.09.2013, 06:24 #8
Цитата Сообщение от paparotnik Посмотреть сообщение
падает на третьем разе
Вы кстати хоть бы написали что в крэшлогах было, показали код... А то как будто тут общество анонимных шаманов :/
paparotnik
0 / 0 / 0
Регистрация: 27.11.2012
Сообщений: 60
30.09.2013, 17:52  [ТС] #9
Так ничего не пишет в креш логах, просто вылетает и все, может дело в том что девайс первый айпад
По итогу из временной папки выгружаю разом на дропбокс
zulkis
682 / 609 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
01.10.2013, 08:01 #10
Цитата Сообщение от paparotnik Посмотреть сообщение
Так ничего не пишет в креш логах, просто вылетает и все, может дело в том что девайс первый айпад
По итогу из временной папки выгружаю разом на дропбокс
По памяти оно так и вылетает. Говорю же, пишите на диск, не в память. В чем проблема то?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.10.2013, 08:01
Привет! Вот еще темы с ответами:

Работа с большими файлами - Ubuntu Linux
Как редактировать большие файлы? Если текстовый редакторы виснут, а нужно удалить некоторые строки из файла по регулярке.

Работа с большими числами - Assembler
Всем доброго времени суток! В программе надо работать с большими числами, а точнее есть уравнение x^7/(x^6+19). Вопрос, как это...

Работа с большими изображениями - Программирование Android
Изображение хранится в ресурсах приложения. Если оно больше размера экрана, то как его вписать при этом подстроится под размеры экрана? То...

Работа с большими данными - PHP
Не знаю к какому разделу относится данный вопрос, решил написать сюда. Есть сайт, у него большая база данных. Из доступов только ftp и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
01.10.2013, 08:01
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru