#php #mysql #objective-c #blob #nsdata
#php #mysql #objective-c #большой двоичный объект #nsdata
Вопрос:
Я пытаюсь отправить архивированный объект objective-c в php-скрипт, а затем извлечь его с сервера и декодировать в приложении.
Мой текущий рабочий процесс:
- Архивный объект
- Отправьте архив на PHP, разместив необработанные данные
- Сохранение данных в mysql blob
- Загрузка необработанных данных из PHP-скрипта
- Декодирующий объект
В настоящее время работают только шаги 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
И все готово! Если это похоже на то, что вам нужно, я был бы рад порекомендовать несколько хороших библиотек.