Цель c — Как создать NSKeyedArchiver в переполнении стека

У нас есть приложение, которое получает с сервера файл, который был ранее сгенерирован приложением Objective C с использованием NSKeyedArchiver,

Теперь мы хотим сгенерировать тот же файл, используя PHP. Это возможно?

Соответствующие вопросы:

  • Какой алгоритм используется NSKeyedArhiver?
  • Есть ли в PHP функция, которая имитирует это?
  • Как можно в PHP превратить обычную строку в объект NSData?

Спасибо!

0

Решение

Вот как мне удалось расшифровать NSKeyedArchiver в PHP.

NSKeyedArchiver это бинарный список определенной структуры, который описывается в этой статье: http://www.cclgroupltd.com/geek-post-nskeyedarchiver-files-what-are-they-and-how-can-i-use-them/

Я использовал Кристиана Крузе CFPropertyList (https://github.com/ckruse/CFPropertyList) читать из двоичного списка. И используя упомянутую выше статью, я могу найти правильный ключ / объект.

NSKeyedArchivers Я работаю со всеми, в первую очередь, имеет простую структуру (все словари типов), поэтому сериализованный plist относительно прост.

После того же процесса, но в обратном порядке, я возьму именованный массив, сериализовав его, используя NSKeyedArchiverСобственная структура затем превратить его в бинарный список, используя CFPropertyList библиотека.

Надеюсь, это кому-нибудь поможет.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]