2013-11-20 2 views
0

Мы разрабатываем приложение iOS с дистрибутивом Enterprise. Он работал хорошо на сотнях устройств, но мы обнаружили, что некоторые устройства iOS 6.1.3 не смогли запустить его через несколько часов после первого запуска, потому что каталог документов приложения стал файлом!Почему мой каталог документов приложения iOS стал файлом?

Наше приложение ничего особенного не делало, за исключением того, что он загружал около 80 МБ файлов MP4 с удаленного HTTP-сервера.

Я предположил, что что-то не так, когда он управляет папкой «Документы», но до сих пор не имеет понятия, что означает «опасное» использование в наших кодах.

Вы столкнулись с подобными проблемами? Как ты это починил?

Большое спасибо любезному, помогающему понять это.

+5

Ошибка в вашем приложении может вызвать это. Возможно, вы удалили папки «Документы», а затем создали файл с именем «Документы». – rmaddy

+0

Нет, ни один код не пытался удалить папку «Документы». с большим количеством результатов теста, мы подозревали, что папка повреждена, в то время как приложение обновляло и загружало MP4 одновременно! – firebear

ответ

1

Что я предлагаю сделать для вашего приложения, чтобы проверить это при его запуске, и если там есть файл, переместите его в другое место (например, временную папку), затем создайте каталог «Документы», затем переместите файл обратно в тот каталог с тем же именем (или изменить имя). Это, по крайней мере, предотвратит остановку вашего приложения.

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

+0

Файл не должен создаваться никаким кодом. Возможно ли повредить, если обновление приложения и запись писем произошли в одно и то же время? – firebear

+0

@firebear, по крайней мере, в прошлом вы могли создавать и перемещать эти каталоги. Фактически, каталог поддержки приложений не создан даже для вас. Я хочу сказать, что ios не блокирует вас от сумасшедших вещей в вашей частной файловой системе. Может быть, что «атомная» версия некоторой стандартной операции записи может удалить каталог и заменить его на файл. –

Смежные вопросы