Срок действия URL-адреса ALAssetRepresentation «постоянство»?

Быстрый вопрос: как долго URL-адрес ALAssetRepresentation (его свойство 'url') гарантированно указывает на один и тот же ресурс?

документация описывает его как «постоянный», но означает ли это постоянство в течение одной синхронизации, сохранение до тех пор, пока не будут добавлены новые фотографии, сохранение до тех пор, пока старые фотографии не будут удалены, или что? Если я создам базу данных, которая связывает элементы фотографий в фотопленке/библиотеке фотографий с данными в моем приложении, используя их URL-адреса ALAssetRepresentation, будут ли эти ассоциации продолжать работать вечно, даже если фотографии будут перемещены или переименованы?


person damian    schedule 01.12.2010    source источник
comment
Что ж, поехали. При переключении между iOS 4.3 и iOS 5 «постоянные» URL-адреса утверждений изменились с этого формата: assets-library://asset/asset.mp4?id=167&ext=mp4 на этот формат: assets-library://asset/asset.mp4?id=F148290E-7262-4D0E-A999-9FE043DB764B&ext=mp4 Для удобства нет сопоставления между 167 и F148290E-7262-4D0E-A999-9FE043DB764B, что нарушает работу моего приложения для всех, кто обновляет его. Ниииииииии.   -  person damian    schedule 14.10.2011
comment
Я только что столкнулся с той же проблемой. Мое приложение хранит URL-адреса фотографий и не работает после обновления 5.0. Вы нашли какую-либо документацию Apple, в которой упоминается эта проблема?   -  person Andy Sinclair    schedule 22.10.2011
comment
Нет, я этого не делал. Как правило, ALAssetManager кажется чем-то забытым, и они не ожидают, что вы будете его использовать...   -  person damian    schedule 25.10.2011


Ответы (1)


По моим наблюдениям, если вы удалите фото/видео из фотопленки, скажем, 1000000007, предполагая, что текущий последний идентификатор равен 1000000008, следующий сохраненный элемент не будет повторно использовать идентификатор, а скорее будет 1000000009. Однако, если последнее изображение будет удалено (1000000008) он будет использовать его повторно.

По сути, он выбирает самый высокий неиспользуемый номер идентификатора, но если вы удаляете элементы, используя меньше текущего самого высокого идентификатора, он не будет «заполнять» старые идентификаторы.

Это только с фотографиями в фотопленке. Я не уверен в других ALAssetGroups.

person chilitechno.com    schedule 27.05.2011