Я сталкиваюсь с подобной проблемой, мне нужно добавить фреймворк Firebase в мою фреймворк и проблему его создания. Не могли бы вы предоставить более подробную информацию об этом?

аюсь создать Dynamic Framework для совместного использования кода между различными расширениями моего приложения.

Проблема:

Вот моя структура проекта.

MyFrameworks - это сетевой уровень моего приложения, который по своей сути использует Alamofire. Так структурирован мой файл под, как следует.

platform :ios, '9.0'
use_frameworks!

workspace 'CocoaPodsProjectworkspace'

def shared_pods
    pod 'Alamofire'
    pod 'SwiftyJSON'
end

target 'CocoaPodsProject' do
    project 'CocoaPodsProject.xcodeproj'
    # Pods for CocoaPodsProject
end

target 'MyFramework' do
    project 'MyFramework/MyFramework.xcodeproj'
    shared_pods
end

target 'CocoaPodsProjectTests' do

end

target 'CocoaPodsProjectUITests' do

end

При создании фреймворка, когда я перетаскиваю его как встроенный бинарный файл в мой главный проект, я получаю ошибку.

dyld: библиотека не загружена: .framework / Alamofire. Ссылка на:

Решения, которые я попробовал:

Объявление pods_frameworks.framework как необязательного в связанных двоичных файлах.Попробовал изменить путь поиска RunPath фреймворка Dynamic LibraryУстановить имя Запуск pod deintegrate и запуск pod install снова.Удаление производных данных и перекомпоновка структуры приводят к одной и той же проблеме.

Решение, которое сработало:

Я понял, что MyFramework.framework пытается найти Alamofire.framework в неправильном каталоге, и он всегда пытается выполнить поиск относительно проекта / цели с помощью фреймворка. Поэтому самое простое решение, которое я смог найти, - это изменить файл pod следующим образом.

platform :ios, '9.0'
use_frameworks!

workspace 'CocoaPodsProjectworkspace'

def shared_pods
    pod 'Alamofire'
    pod 'SwiftyJSON'
end

target 'CocoaPodsProject' do
    project 'CocoaPodsProject.xcodeproj'
    shared_pods
    # Pods for CocoaPodsProject
end

target 'MyFramework' do
    project 'MyFramework/MyFramework.xcodeproj'
    shared_pods
end

target 'CocoaPodsProjectTests' do

end

target 'CocoaPodsProjectUITests' do

end 

Как вы можете видеть, я добавил shared_pods как в основное приложение, так и в свой фреймворковый проект и их соответствующие цели. Теперь все работает гладко. Я не должен был делать pods_framework необязательным и не должен был изменять настройки сборки MyFramework.

Вопрос:

Добавление общих репозиториев ко всем проектам и их целям, которые хотят использовать мою инфраструктуру, выглядит немного излишним. Есть ли лучший способ, которым я могу указать Myframework.framework, чтобы читать все его зависимости, а не читать из проекта, используя его?

Я поднял проблему для того же на Git репо CocoaPods. Но поскольку это по сути своей не проблема, они не могут вернуться назад. Следовательно, разместив его как вопрос здесь. Ссылка на выпуск:https://github.com/CocoaPods/CocoaPods/issues/6901 если это поможет.

Ответы на вопрос(1)

Ваш ответ на вопрос