Как должны выглядеть мои копии-фреймворки Run Script с вложенными каркасными фреймворками? - PullRequest
0 голосов
/ 20 января 2019

У меня есть карфагенская структура A, которая зависит от другой из моих карфагенских каркасов B.Эта структура B зависит от структуры C.У моего Cartfile нет списка C, но, как описано в документации, он загружен на carthage update.В моем Run Script у меня есть:

$(SRCROOT)/Carthage/Build/iOS/A.framework
$(SRCROOT)/Carthage/Build/iOS/B.framework
$(SRCROOT)/Carthage/Build/iOS/C.framework

И:

$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/A.framework
$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/B.framework
$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/C.framework

Это прекрасно для меня, но когда я иду в магазин приложений, я получаю Code signing "A.framework" failed

В журналах я вижу Running /usr/bin/codesign для

/var/folders/1y/hdyf678f66897f_fafjdkdk89f8d/T/XcodeDistPipeline.7bM/Root/Payload/MyApp.app/Frameworks/A.framework/Frameworks/B.framework/Frameworks/C.framework

И следующую строку после этой же строки с путем к C.framework replacing existing signature, затем code object is not signed at all в строке после этого.

Нужно ли указывать в моем сценарии выполнения путь к каждой вспомогательной структуре (или в моем случае вспомогательной структуре)?

Я пробовал $(SRCROOT)/Carthage/Build/iOS/C.framework/Frameworks/B.framework/Frameworks/C.frameworks, но потом он не скомпилируется, потому что не может найти файл по этому пути (хотя, когда я перехожу по этому пути, он существует).

PS:

B.framework также имеет скрипт запуска для C.framework в том же формате, что и основное приложение

1 Ответ

0 голосов
/ 21 января 2019

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

  • Только основное приложение, которое будет представлено в App Store, должно иметь фазу Run Script copy-frameworks, и оно должно копировать только фреймворки верхнего уровня..

  • Только у тестовой цели должна быть фаза Copy Files (у меня была фаза Copy Files в моей целевой структуре)

  • Донне встраивать какие-либо фреймворки (если они не являются статическими, но они официально не поддерживаются)по основному приложению)

...