JSON Framework без скрытых API? - PullRequest
       15

JSON Framework без скрытых API?

2 голосов
/ 17 ноября 2009

Учитывая все проблемы, связанные со скрытыми API, и Apple теперь проверяет их перед выпуском чего-либо в магазин приложений, как вы можете быть уверены, что конкретная среда использует скрытые API? Например, мне нравится структура Google JSON: http://code.google.com/p/json-framework/. Я понятия не имею, используют ли они скрытые API.

Что еще есть в JSON, если вы уверены, что не используете скрытые API?

Ответы [ 5 ]

6 голосов
/ 18 ноября 2009

Вы можете проверить код.

  1. Сначала убедитесь, что проект компилируется без предупреждений. Это означает, что все методы, которые они используют, должны быть объявлены в их заголовках.
  2. Затем посмотрите на все категории, объявленные в коде (вы можете сделать это самостоятельно или найти какой-нибудь инструмент для этого).
  3. Для всех категорий, объявленных для классов, предоставляемых всеми платформами Apple, убедитесь, что в вашем коде есть конкретные реализации методов, которые они объявляют. Если в предоставленных Apple классах есть какие-либо категории, которые не имеют конкретных реализаций, предоставляемых платформой, то они объявляют эту категорию, чтобы избежать предупреждений компиляции, обращающихся к закрытым методам.
  4. Найдите вызовы NSClassFromString и убедитесь, что все его применения предназначены для открытых классов

Существуют и другие способы использования частных API, но они не так распространены и, как правило, вызываются людьми, активно пытающимися запутать то, что они делают.

Еще немного по пункту:

Я сам проверял YAJL-objc и уверен, что Джон не делает ничего плохого в TouchJSON , потому что он чертовски хороший разработчик iPhone. Кроме того, я не могу понять, для чего нужна любая библиотека JSON, они почти ничего не могут скрыть в частных API. Обычно для достижения визуальных эффектов чаще используются частные API, поскольку интерфейс с функциональными возможностями HW не раскрывается, а синтаксический анализ на самом деле просто вычислительный.

1 голос
/ 17 ноября 2009

Существует также TouchJSON . В принятом ответе на этот вопрос говорится, что он является одним из самых заслуживающих доверия и хорошо проверенных.

Что касается обнаружения использования частных API-интерфейсов, вы можете взглянуть на этот вопрос для нескольких возможных решений.

0 голосов
/ 18 января 2012

Я согласен, что есть много решений для анализа JSon, но написать собственное решение довольно просто.

это в основном зависит от того, насколько сложны источники json. Типичные имплементации C / c ++, как правило, более эффективны, в том что касается вашего вопроса о частных API. Пока Вы копируете / мимо источников, вы уверены, что не используете частный apis.

0 голосов
/ 18 ноября 2009

Ищите проекты, чтобы начать добавлять описательный текст, подтверждающий, что они не используют частные API и не планируют.

Это интересная проблема, поскольку Three20 - не первая библиотека, с которой это случилось. Ничто не сравнится с быстрым просмотром кода самостоятельно.

0 голосов
/ 17 ноября 2009

Показать все библиотеки, перечисленные на json.org .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...