Специальная сборка изменяет каталог документов

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

Моя проблема заключается в том, что каждый раз, когда я устанавливаю специальную сборку из Testflight, она изменяет часть идентификатора приложения в каталоге документов.

ie

/var/mobile/Applications/{APPID}/Documents/

отличается после установки новой специальной сборки. Это также изменится, если я переустановлю ту же сборку из Testflight. Я так понимаю, что это должно быть последовательно - разве это не правильно?


person barrym    schedule 27.05.2011    source источник


Ответы (1)


Разработчик не имеет контроля над тем, какой appid используется при установке приложения, поэтому вы никогда не должны доверять его согласованности. Вместо этого запросите у файлового менеджера по умолчанию каталог документов на лету:

NSURL *documentDirectoryURL = [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject];
person Mr. Berna    schedule 27.05.2011
comment
Я делал что-то подобное для хранения изображений в первую очередь. Моя ошибка заключалась в том, что я сохранил полный путь к файлу в качестве атрибута моей модели изображения в Core Data, чтобы я мог загрузить его позже. Это отлично работало во время разработки, но ad hoc вызывало проблемы. Интересно знать, я переписал это сейчас. - person barrym; 28.05.2011
comment
У меня просто возникла эта проблема, мне нужно создать каталоги, указанные выше, но я получаю сообщение об ошибке, что это не разрешено. Любые идеи? извините, я копаю это! - person theiOSDude; 22.08.2013
comment
@ burrows111 У меня нет проблем с этим кодом. Он по-прежнему работает в новых проектах, предоставляя URL-адрес каталога документов приложения. Ваша проблема скорее всего в другом. Я предлагаю написать полный вопрос, который включает ваш проблемный код. - person Mr. Berna; 22.08.2013
comment
Спасибо, что вернулись ко мне! - person theiOSDude; 23.08.2013