Подтвердить что ты не робот

CocoaPod/Podspec и *.framework

CocoaPod noob вопрос ниже:

Я создал структуру, связанную со статической библиотекой внутри, в зависимости от AFNetworking и набора ресурсов (на основе этих двух руководств для создания FWK http://www.blackjaguarstudios.com/blog/programming/2012/11/22/xcode-45-creating-ios-framework-and-hold-my-hand-im-3-years-old и https://github.com/bclubb/iOS-Framework)

Мне бы хотелось создать podspec, чтобы люди просто добавляли строку в свой Podfile, который при необходимости устанавливал бы на моем устройстве фреймворк и AFnetworking.

Я не могу найти ничего подобного, это документация, как вы думаете, это возможно?

Приветствия,

4b9b3361

Ответ 1

Я действительно много сделал в моем офисе. У нас есть тонны частного исходного кода, который повторно используется совсем немного. CocoaPods помогла начать работу над новыми проектами намного быстрее и упростило их обновление.

Пока можно добавить фреймворк в podspec, мне гораздо проще просто передать статическую библиотеку и заголовки через CocoaPods, а не беспокоиться о структуре.

Вам нужно будет обновить свой podspec на основе вашего проекта, но вот важные части:

s.source_files = 'StaticLib/Headers/*.h'
s.preserve_paths = 'StaticLib/libYourLibrary.a'
s.library = 'YourLibrary'
s.xcconfig = { 'LIBRARY_SEARCH_PATHS' => '$(PODS_ROOT)/ProjectFolder/LibraryFolder' }    

s.dependency = 'AFNetworking'

Это скопирует вашу статическую библиотеку, а также перенесет AFNetworking с вашим модулем. Это сделает вашу статическую библиотеку намного меньшей (не нужно ее встраивать) и ускорит, как быстро пользователь может импортировать ваш блок.

Если вы должны использовать фреймворк, то тот же материал сверху все еще применяется, но у вас может быть небольшая настройка. Все рамки - это довольно сложная структура папок для статической библиотеки и заголовков в любом случае, так зачем беспокоиться о дополнительных материалах. В любом случае источник все еще встроен в статический lib lpods.a. Надеюсь, это поможет вам.