Как правильно встраивать в простой MyApp пользовательскую среду, которая использует Cocoapods для зависимостей?Пожалуйста, помогите, я не могу понять.
СЦЕНАРИЙ:
Я создал небольшой тестовый фреймворк и встроил его в небольшое потребительское приложение, следуя этому простому учебнику https://www.raywenderlich.com/5109-creating-a-framework-for-ios простоодин, как и многие другие.
Мой простой пример работает.
Теперь я создал самый большой фреймворк MyFramework, который использует несколько таких модулей, как firebase, alamofire и так далее.MyFramworks собирается правильно
Теперь я встроил его в свое потребительское приложение MyApp и добавил MyFramework во «Встроенные двоичные файлы» и «Связанные рамки и библиотеки», но я получаю сообщение об ошибке на MyFramwork, когда xCode создает MyApp:
Apple Mach-O Linker (ld) Группа ошибок lang: error: сбой команды компоновщика с кодом выхода 1 (используйте -v для просмотра вызова)
, что дает мне многоошибок «Каталог не найден» в DerivedData для всех установленных модулей
Я прочитал много сообщений, но никто не решил проблему
ОБНОВЛЕННЫЙ СЦЕНАРИЙ: Я попытался воспроизвести проблему в моей маленькой рабочей тестовой среде с именем testfwk.Testapp находится в отдельном проекте и в отдельной папке, как команда ls -la:
MacBook-Pro:test david$ ls -l
total 0
drwxr-xr-x 12 david staff 384 15 Ott 10:40 testapp
drwxr-xr-x 10 david staff 320 15 Ott 10:14 testfwk
ls -l для папки testfwk:
MacBook-Pro:testfwk david$ ls -l
total 16
-rw-r--r-- 1 david staff 415 15 Ott 10:14 Podfile
-rw-r--r-- 1 david staff 290 15 Ott 10:14 Podfile.lock
drwxr-xr-x 8 david staff 256 15 Ott 10:14 Pods
drwxr-xr-x 5 david staff 160 15 Ott 10:49 testfwk
drwxr-xr-x@ 5 david staff 160 15 Ott 10:14 testfwk.xcodeproj
drwxr-xr-x@ 5 david staff 160 15 Ott 10:16 testfwk.xcworkspace
drwxr-xr-x 4 david staff 128 14 Ott 15:58 testfwkTests
ls -l для папки testapp:
MacBook-Pro:testapp david$ ls -l
total 16
-rw-r--r-- 1 david staff 637 15 Ott 10:53 Podfile
-rw-r--r-- 1 david staff 290 15 Ott 10:40 Podfile.lock
drwxr-xr-x 8 david staff 256 15 Ott 10:53 Pods
drwxr-xr-x 7 david staff 224 15 Ott 10:20 testapp
drwxr-xr-x@ 5 david staff 160 15 Ott 10:40 testapp.xcodeproj
drwxr-xr-x@ 5 david staff 160 15 Ott 10:41 testapp.xcworkspace
drwxr-xr-x 4 david staff 128 14 Ott 16:01 testappTests
drwxr-xr-x 4 david staff 128 14 Ott 16:01 testappUITests
Я добавляю KingFisher через Coccoapods в testfwk, открываю testfwk.xcworkspace и он успешно строится, импорт kingfisher работает на примере swift-класса.
testfwk Podfile
# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'
source 'https://github.com/CocoaPods/Specs.git'
target 'testfwk' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
# Pods for testfwk
pod 'Kingfisher','~> 4.0'
target 'testfwkTests' do
inherit! :search_paths
# Pods for testing
end
end
Когда я впервые открыл testapp.xcodeproj, попробуйте создать чистое объявление, но я получаю эту ошибку:
testfwk уже добавленкак встроенный двоичный файл и библиотека в моем testapp, как показано ниже:
Функция framwork testprint.hello (), вызываемая из Viewcontroller из testapp, работала непосредственно перед добавлениемpod to testfwk
Затем я закрываю xCode, очищаю папку с производными данными, открываю testfwk и успешно создаю ее, открываю testapp, очищаюсь и пытаюсь собрать, но я получаю ту же ошибку.
Что не так ???Как я могу заставить его работать ?????!Мне нужно встроить мою платформу, чтобы настроить мое потребительское приложение и внести некоторые коррективы, после этого моя идея состоит в том, чтобы использовать cocoapods для добавления моей платформы в следующие приложения.Anyoine может помочь?Спасибо
После этого я попытался добавить модуль KingFisher через Cocoapods в приложение testapp, также используя аналогичный файл подкачки, используемый для testfwk, но изменив цель на «testapp», модуль был успешно установлен, но когда я пытаюсьbuild testapp.xcworkspace я получаю та же ошибка .Я думаю, что эта установка была ненужной.Я думаю, что testfwk не может собрать внутри testapp и по какой-то причине не видит KingFisher pod
podfile для testapp
# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'
use_frameworks!
source 'https://github.com/CocoaPods/Specs.git'
target 'testapp' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
# Pods for testapp
pod 'Kingfisher','~> 4.0'
target 'testappTests' do
inherit! :search_paths
# Pods for testing
end
target 'testappUITests' do
inherit! :search_paths
# Pods for testing
end
end
После того, как я также попытался следовать принятому ответу https://stackoverflow.com/a/37415074/9880094 я создал аналогичный Podfile для testapp, но я получаю «Ошибка цели не найдена для цели« testfwk »» Я думаю, что проблемы с путями или папками »
# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'
use_frameworks!
source 'https://github.com/CocoaPods/Specs.git'
def facile_core_pods
pod 'Kingfisher','~> 4.0'
end
target 'testapp' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
# Pods for testapp
facile_core_pods
target 'testappTests' do
inherit! :search_paths
# Pods for testing
end
target 'testappUITests' do
inherit! :search_paths
# Pods for testing
end
target 'testfwk' do
use_frameworks!
facile_core_pods
end
end
ПОЖАЛУЙСТА, ПОМОГИТЕ