2013-04-09 3 views
5

Я понимаю, что вы не можете удалить элемент из пакета iOS с момента его подписания, но есть ли способ включить файл и не включать его в «подписанный» пакет, но все еще присутствует при установке?Удалить файл из пакета после установки

Использовать случай в основном установить приложение, прочитать содержимое файла, сохранить в цепочке ключей, а затем удалить файл.

Благодарим за помощь и руководство.

Примечание. Приложение не может получить доступ к Интернету, чтобы получить этот файл. И возможность удалить файл (или стереть содержимое файла) после прочтения его один раз - это все, что мне действительно нужно. Кроме того, мы являемся ad-hoc-дистрибутивом здесь, мы не проходим через процесс утверждения приложений.

+2

Не думайте, что вы можете удалить файл из пакета ... Вы считали, что для получения содержимого файла вы решили создать какой-то сервер для своего приложения? – rocky

+1

Комплект приложений доступен только для чтения для приложения на устройстве. Таким образом, вы не можете удалить файл из своего пакета, будь он подписанным или неподписанным. –

+0

К сожалению, мы не можем получить файл удаленно из-за «бизнес-ограничений», который является извините, но единственный ответ, который у меня есть. И @MartinR хороший момент. На самом деле это не считалось. Я полагаю, есть ли способ предварительно заполнить папку docs файлом? – Breland

ответ

5

Короткий ответ №. Приложение доступно только для чтения.

Как указывалось другими, обычным решением для доставки данных в комплект, который должен быть доступен для редактирования, является копирование данных из пакета приложений в документы (или в другую папку приложения), так что у вас есть редактируемая копия. Однако вы все еще не можете удалить что-либо из пакета.

Поскольку у вашего проекта есть ограничения, в которых вы не можете передавать данные через Интернет, и вы доставляете приложение через Ad-Hoc-дистрибутив, кажется, что ваша основная проблема заключается в том, что поставляемый файл не может быть доступен даже в тюрьме сломанное устройство.

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

+0

Лучшее решение до сих пор, я думаю, лучший способ получить ключ к устройству «безопасно»? – Breland

+2

Выведите ключ, например, используйте контрольную сумму CRC-32 одного из файлов в приложении, hashed с некоторым другим значением, поэтому ключ не сохраняется в скомпилированном коде, но вместо этого им придется проследить чтобы увидеть, как вы извлекаете ключ. Вы могли бы ограничить время с помощью факторинга, но вы должны добавить требование о том, что время устройства пользователя должно быть точным. –

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