Как сторонние библиотеки работают в Objective-C и Xcode? - PullRequest
6 голосов
/ 31 августа 2011

Довольно новый (2 недели) в Objective-C и XCode, и я пытаюсь добавить свою первую «внешнюю» библиотеку с именем restkit , чтобы прочитать JSON с внешнего сервера.

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

Я являюсь многолетним разработчиком Java и пытаюсь сравнить его с тем, как он там работает, с скомпилированными, упакованными jar-файлами, которые вы не можете изменить. Какое отношение это имеет к jarfiles? Из того, что я вижу, вы можете просто войти и изменить любой сторонний файл, как считаете нужным.

Если бы кто-то мог помочь мне понять это, я был бы признателен.

Ответы [ 4 ]

14 голосов
/ 31 августа 2011

внешний код может быть:

динамическая библиотека (.dlyb) , которая может быть распространена как платформа и установлена ​​на машине.Но имейте в виду, что вы не можете установить фреймворки на iPhone - ваше приложение помещено в «песочницу».Вам доступно определенное количество платформ, которые есть на всех iPhone.

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

ссылки: http://blog.carbonfive.com/2011/04/04/using-open-source-static-libraries-in-xcode-4/

Другая и довольно распространенная форма - это использование кода. Это часто встречается в разработке для iPhone, потому что насколько замкнуто устройство и насколько песочница вашего приложения.это также популярно, потому что многие компоненты и библиотеки открыты на github.код общего доступа обычно поставляется в двух формах:

копировать код - добавьте несколько файлов в свое приложение и все готово.вы должны обновлять файлы на некоторой периодической основе.

подпроект xcode - вы можете добавить проект xcode из внешних библиотек в качестве подпроекта в ваш проект.этот подпроект может создать статическую библиотеку (цель), которую использует ваше приложение.в xcode4 также может быть рабочее пространство, содержащее несколько проектов.

Преимущество использования кода состоит в возможности отладки в нем.Чем сложнее становится код, тем более привлекательным является использование подпроекта.Если это несколько автономных файлов, то просто добавить файлы просто.

Надеюсь, что это поможет некоторым.

1 голос
/ 27 февраля 2012

Другим способом является менеджер зависимостей, который называется CocoaPods .Это все еще бета-версия, но она готова к использованию.Есть несколько рецептов для некоторых библиотек, и если вы не найдете нужного, вы можете создать для него спецификацию.Спецификация для RestKit доступна.

1 голос
/ 31 августа 2011

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

Я предпочитаю компилировать свои фреймворки отдельно и просто включать скомпилированный фреймворк в мои проекты. В любом случае работает.

0 голосов
/ 30 апреля 2013

почему ты слишком тяжело это воспринимаешь! выберите файл проекта и выберите фазу сборки> исходники компиляции> добавьте сюда файл .m, который вы добавили> соберите и запустите> Enjoy

...