Нет общих схем фреймворка

Я пытаюсь преобразовать проект с открытым исходным кодом, которым я не владею, для использования Carthage, чтобы я мог включить его в качестве зависимости. Я добавил новую схему и сделал эту схему общей. Я проверил это в своем локальном репозитории git с исходным кодом. Это в моей корзине:

git "file:///Users/crystaltwix/Projects/plcrashreporter" "shared-scheme"

Когда я пытаюсь бежать

carthage update --platform iOS

Я вижу, что Carthage проверяет plcrashreporter с правильным хэшем git, но я получаю сообщение об ошибке:

*** Skipped building plcrashreporter due to the error:
Dependency "plcrashreporter" has no shared framework schemes for any of the platforms: iOS

Есть ли что-то еще, что нужно сделать, чтобы фреймворк был доступен через Carthage?


person Crystal    schedule 12.01.2018    source источник
comment
Откройте проект внутри Carthage/build/iOS/plcrashreporter, проверьте цель фреймворка, включен ли флаг shared?   -  person Andrea Mugnaini    schedule 13.01.2018
comment
@AndreaMugnaini Да, он проверен как общий.   -  person Crystal    schedule 13.01.2018
comment
это рамки? github.com/plausiblelabs/plcrashreporter   -  person Andrea Mugnaini    schedule 13.01.2018
comment
@AndreaMugnaini Да, это он.   -  person Crystal    schedule 13.01.2018
comment
Я интегрировал проект с Carthage, но так как проект сильно устарел, мне пришлось форкнуть пулреквест. Я опубликую ниже свои результаты.   -  person Andrea Mugnaini    schedule 13.01.2018
comment
@AndreaMugnaini Было ли что-то очевидное, что я только что пропустил (кроме того, что проект старый)?   -  person Crystal    schedule 13.01.2018
comment
Теоретически вы были правы (carfile и общая схема включены). В любом случае, вы можете проверить мой ответ ниже, прежде чем вы сможете выпустить его в качестве фреймворка, в таком проекте есть много вещей, которые нужно исправить.   -  person Andrea Mugnaini    schedule 13.01.2018
comment
@AndreaMugnaini у вас есть общий совет по обновлению проекта, как у вас? Я посмотрел на ваши коммиты, и на это, и на большинство опций, которые вы изменили, я бы никогда не узнал. Спасибо.   -  person Crystal    schedule 23.01.2018


Ответы (1)


Я интегрировал фреймворк plcrashreporter с Carthage, но, поскольку проект довольно устарел, мне пришлось разветвить запрос на включение, который выглядит следующим образом:

https://github.com/plausiblelabs/plcrashreporter/pull/9

как видите, там много коммитов (#34), одни относятся конкретно к Carthage, другие — к очистке и исправлению целей.

Вы можете найти репо здесь:

https://github.com/feelform/plcrashreporter

Мой тест (вы можете найти его здесь) имеет следующее:

Корзина: github "feelform/plcrashreporter"

В настройках сборки запустите скрипт:

/бин/ш: /usr/local/bin/carthage copy-frameworks

Входные файлы: $(SRCROOT)/Carthage/Build/iOS/CrashReporter.framework

Выходные файлы:$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/CrashReporter.framework

person Andrea Mugnaini    schedule 13.01.2018
comment
Удалось ли вам также построить этот проект с помощью podspec? Я не. - person Crystal; 22.02.2018