Как стать автором
Обновить

Комментарии 8

Спасибо за информацию. А не происходит ли заметного замедления времени сборки библиотеки из-за того, что собирается единых объектный файл?
Спасибо за хороший вопрос. Лично не замерял, но какой-то ощутимой разницы не замечал. Проект небольшой, буквально пару десятков классов.
А чем плохо сделать приватный pod?
Всё верно говорите, но, к сожалению, где я работал всё было немного сложнее. Скажем так, был кейс не отдавать разработчикам из другого отдела исходники проекта, при этом в нашем отделе проект разумеется разрабатывался/интегрировался через cocoapods. Также на CI сервере через скрипт насильно в каждое приложение подключался этот проект через наш cocoapods для сборки конечного ipa файла. Если бы я обернул проект в другую версию cocoapods, чтобы подключение происходило только статик либы и отдал её разработчикам из другого отдела, то тогда на CI сервере был бы конфликт подов (это решаемо конечно тоже), поэтому на сервере просто еще один скрипт пробегался по проекту, выключал статик либу и подключал её через cocoapods с сорцами необходимую/актуальную версию. Извините немного запутанно объясняю, но смысл изложенного думаю вам ясен. Но это единичный случай, конечно, все остальные проекты шарятся через cocoapods.
Это работает, если категория расширяет стандартный класс? Например, NSString.
Работает)
К сожалению не работает. Все так же требуется флаг -ObjC
Привет. Я предполагаю ваша библиотека состоит только из категорий, в этом случае линкеру не за что зацепиться, чтобы вашу либу вообще включить в compile stage приложения. Предлагаю вам workaround, создать пустой класс Dummy в библиотеке, и в коде приложения дернуть для него какой-то метод в любом месте один раз или просто создать инстанс, так мы заставим линкер затащить вашу библиотеку внутрь бинарника приложения. Не очень мне нравится это решение на самом деле, но это точно решит вашу проблему.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории