Отправка архивированного объекта iOS objective-c на php и сохранение в базе данных mysql и извлечение

#php #mysql #objective-c #blob #nsdata

#php #mysql #objective-c #большой двоичный объект #nsdata

Вопрос:

Я пытаюсь отправить архивированный объект objective-c в php-скрипт, а затем извлечь его с сервера и декодировать в приложении.

Мой текущий рабочий процесс:

  1. Архивный объект
  2. Отправьте архив на PHP, разместив необработанные данные
  3. Сохранение данных в mysql blob
  4. Загрузка необработанных данных из PHP-скрипта
  5. Декодирующий объект

В настоящее время работают только шаги 1 и 5. Я могу сохранить данные в большой двоичный объект, но содержимое выглядит далеко от того, что я фактически отправил в php-скрипт. Я могу загрузить данные из PHP-скрипта, но результирующие данные не похожи на то, что находится в большом двоичном объекте, когда я смотрю на данные в базе данных.

Итак, мой вопрос: как я должен кодировать NSData из архивированного объекта для отправки в PHP-скрипт? Как я должен обрабатывать данные на стороне PHP при вставке их в MySQL? Как PHP должен отправлять данные обратно в приложение? и … наконец… Как приложение должно декодировать данные из PHP-скрипта, чтобы они стали доступными для чтения декодеру?

Ответы и идеи на любой из этих вопросов были бы огромной помощью 🙂 спасибо.

Ответ №1:

Если объект подходит, подумайте о кодировании его как JSON или YAML. Существует множество библиотек как на Objective-C, так и на PHP для сериализации / маршалинга этих форматов, и реализовать их довольно просто.

Если бы вы делали это в JSON, вы могли бы:

1) Закодируйте строку JSON из объекта Cocoa 2) ОТПРАВЬТЕ это в свое PHP-приложение 3) Попросите PHP проанализировать JSON и записать что-нибудь в MySQL 4) Сгенерируйте HTTP-ответ из ответа MySQL, закодируйте его как JSON и отправьте обратно клиенту 5) Расшифруйте JSON

И все готово! Если это похоже на то, что вам нужно, я был бы рад порекомендовать несколько хороших библиотек.