#swift #xcode #frameworks #cocoapods
#swift #xcode #фреймворки #cocoapods
Вопрос:
Я просмотрел весь пример по этому вопросу и не смог найти что-то, что соответствует моему вопросу / ситуации.
У меня есть фреймворк swift под названием FrameworkA. В рамках FrameworkA я разместил cocoapod, Alamofire, создав podfile и добавив необходимую информацию о pod. Файл podfile указан следующим.
# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'
target 'FrameworkA' do
# Comment the next line if you don't want to use dynamic frameworks
use_frameworks!
# Pods for FrameworkA
pod 'Alamofire', '~> 5.2'
end
Pod / Alamofire устанавливается правильно, поскольку я тестировал его с помощью простого вызова в тестовом классе внутри FrameworkA. Смотрите код:
import Foundation
import Alamofire
class TestClass {
let test = AF.request("https:/google.com").response { response in
debugPrint(response)
}
}
На данный момент, когда все работает, я хотел бы разместить FrameworkA внутри проекта Swift App в Xcode.
Здесь я сталкиваюсь с препятствием, поскольку я не могу создать простое приложение ApplicationA с установленной FrameworkA, поскольку Alamofire не найден в FrameworkA. Смотрите изображение.
Что я пробовал:
Я попытался перетащить файл FrameworkA .xcodeproj в проект ApplicationA в Xcode, а затем добавить фреймворк в раздел «Фреймворки, библиотеки, встроенный контент». Смотрите изображения.
При попытке сборки я получаю ошибку компиляции, что FrameworkA не может найти Alamofire. Смотрите изображение:
Мои основные вопросы:
- Как мне добиться успешной сборки ApplicationA, поскольку очевидно, что Alamofire не устанавливается вместе с платформой?
Ответ №1:
Я смог ответить на свой собственный вопрос.
Все, что мне нужно было сделать, это добавить Alamofire в ApplicationA в качестве cocoapod, и все будет построено правильно.
# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'
target 'ApplicationA' do
# Comment the next line if you don't want to use dynamic frameworks
use_frameworks!
# Pods for ApplicationA
pod 'Alamofire', '~> 5.2'
end
Комментарии:
1. Есть ли другой способ избежать интеграции с основным приложением pod? Спасибо