Как найти идентификатор фотоактива в IOS

Я пишу приложение, которое сохраняет фотографию, хранящуюся в пользовательском альбоме, и связывает с ней другую информацию в объекте. Затем объект сохраняется в основных данных. Я хотел бы сохранить ссылку на фотографию в объекте. Есть ли уникальный идентификатор, который доступен или может быть получен. Мне нужно иметь доступ к фотографии. Я использую фреймворк для фотографий.


person Syed Tariq    schedule 12.12.2015    source источник


Ответы (2)


Имейте в виду, что localIdentifier может измениться при обновлении iOS, и в этом случае любое значение, которое вы сохранили локально, станет бесполезным.

Проверьте этот другой вопрос для получения дополнительной информации.

person otaviokz    schedule 18.10.2017
comment
localIdentifiers никогда не меняются на устройстве. Мое приложение #pictagger находится в AppStore с 2015 года, с тех пор никаких изменений в localidentifier. - person kurtanamo; 03.01.2020

Каждая вещь из платформы Photos — это PHObject, а класс PHObject реализует методы isEqual: и hash с точки зрения его свойства localIdentifier, вы можете использовать методы, которые зависят от этих методов, для отслеживания объектов фотографии.

var localIdentifier: String { get }

Уникальная строка, которая постоянно идентифицирует объект

person guhan0    schedule 18.12.2015
comment
Спасибо. Я все еще нечеткий. После того, как я успешно сохраню фотографию, какое возвращенное свойство в PHAsset является идентификацией фотографии? - person Syed Tariq; 18.12.2015
comment
Я интерпретирую ваш вопрос как я могу хранить массив localIdentifier в основных данных. Как я могу получить эту фотографию позже, используя localIdentifier, хранящийся в основных данных? Вы можете использовать fetchAssetsWithLocalIdentifiers из PHAsset для извлечения активов с указанными уникальными идентификаторами, специфичными для локального устройства. - person guhan0; 18.12.2015
comment
Мне нужна помощь, чтобы определить, как извлечь идентификатор, который необходимо сохранить в localIdentifier. Я застрял на базовом уровне. - person Syed Tariq; 23.12.2015
comment
Я думаю, что ваша идея о localIdentifier неверна. Вы можете получить значение localIdentifier из PHObject и сохранить это строковое значение в своей локальной БД, а затем использовать эту уникальную сохраненную строку локальной БД для доступа к PHAsset, который вам нужен, с помощью методов. - person guhan0; 23.12.2015