Pull to refresh
1
0
Александр Сенченков @Northex

iOS Разработчик

Send message

а что у вас за такие древние версии библиотек, что они не имеют данного флага? а если и нет, то можно сделать такой велосипед https://github.com/Carthage/Carthage/issues/3104#issuecomment-756971172 но если либа не обновлялась, значит можно и форкнуть уже

Некоторые библиотеки не собираются с включенным флагом BUILD_LIBRARY_FOR_DISTRIBUTION они просто выдают ошибку.
В целом поддерживать библиотеки (особенно когда их много, и изменения могут вносить другие команды) с Library Evolution тяжело (были попытки). А еще иногда нужно собрать проект не под новый Xcode, а под старый, и тут могут возникнуть сложности если какая либо из библиотек была собрана на более поздней версии. В целом взвесив все за и против мы решили собирать отдельно библиотеки под toolchain (у нас есть автоматизация для этого).

какие?

Вот здесь можно почитать про это. Про frozen структуры и совместимость с Objective-C

Вам, спасибо!
С подобным не сталкивались, т.к. все зависимости собраны с Release конфигурацией, поэтому мы проверяем только наличие данной библиотеки в папке Carthage/Build

Для поддержания бинарной совместимости необходимо собирать зависимости с включенным флагом:
BUILD_LIBRARY_FOR_DISTRIBUTION
(почитать про это можно здесь)
Так же включение данного флага накладывает определенные границы по совместимости. В нашем случае проще выполнить одну команду и собрать все зависимости и автоматически залить их на s3, чем в ручном режиме пробовать включать стабильность модуля для каждой зависимости. Так же у есть библиотеки, которые не работают с данным флагом

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity

Specialization

Mobile Application Developer
Middle
SWIFT
Objective-C
iOS development