UIPasteboard размер

это больше не актуально, начиная с iOS4+, поэтому, пожалуйста, прекратите голосовать против! или хотя бы объясните свои минусы

Я пытаюсь сделать путь обновления для облегченной до полной версии приложения, которое может хранить неопределенное количество данных (я не хочу делать это при покупке приложения).

Я хотел бы иметь возможность выполнить обновление с использованием пользовательского URL-адреса без необходимости присутствия в сети для кэширования данных.

Поэтому я думал об использовании объекта UIPasteboard.

Кто-нибудь знает или проводил какие-либо исследования максимально возможного размера данных, хранящихся в UIPasteboard? Кажется, нет документации Apple, которую я могу найти по этому поводу.

Будет ли это варьироваться от устройства к устройству? то есть это RAM ограничено?

Я попробовал файл размером 50 МБ и знаю, что это не удается (даже в симуляторе), хотя файл размером 5 МБ в порядке. Невозможно узнать, произошел ли сбой, пока вы не получите данные с помощью dataForPasteboardType:

Кроме того, кто-нибудь сделал 2 пользовательских URL-адреса приложения, которые будут выполнять своего рода запрос/ответ между приложениями? Я думал, что таким образом смогу поддерживать данные произвольного размера...


person Nick H247    schedule 19.08.2010    source источник
comment
Лучше не задавать еще один вопрос в своем вопросе. :-)   -  person Craig    schedule 19.10.2011


Ответы (2)


Я отвечу на свой вопрос, после некоторого расследования, это 8 МБ. Независимость от устройства.

Мне также удалось поддерживать обновление произвольно больших объемов данных, используя 2 настраиваемых URL-адреса и метод openURL рекурсивно между приложениями. Протестировано до 100 МБ - это выглядит не слишком красиво, потому что оно открывает каждое приложение 12 раз!

person Nick H247    schedule 19.08.2010
comment
Не размещайте вопросы в своих ответах. :-) - person Craig; 19.10.2011

Я удивлен, что есть какие-то ограничения. Я не понимаю, почему/как это могло бы быть. Вы даете UIPasteboard словарь с сохраненным указателем на ваши данные. Кого волнует, насколько он велик? Я подозреваю, что если вы обнаруживаете ограничение, это действительно ограничение на размер NSString, или NSData, или чего-то еще, что вы предоставляете UIPasteboard.

person Craig    schedule 18.10.2011
comment
Прошло некоторое время с тех пор, как я проводил это исследование, хотя я понимаю, что словарь должен делать глубокую копию в разделяемую память (словари должны быть в стандартном формате списка свойств), поскольку каждое приложение находится в песочнице - в противном случае это может быть способ доступа защищенное пространство памяти другого приложения... (но вы правы, я передавал объекты NSData, когда копировал файл) - person Nick H247; 20.10.2011
comment
Кто-нибудь может подтвердить, это глубокая копия или мелкая копия? Спасибо! stackoverflow.com/questions/18778213/ - person Ravindranath Akila; 13.09.2013