#cocoapods #cocoapods-1.1.1
#cocoapods #cocoapods-1.1.1
Вопрос:
Я обновился до cocoapods 1.1.1 для моего проекта XCode 8 Swift 2.0, и теперь я получаю предупреждение «… цель переопределяет ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES
…» в консоли. Как я могу это исправить?
Вот мой podfile
platform :ios, '9.0'
use_frameworks!
def app_pods
pod 'Alamofire', '~> 4.0.0'
pod 'AlamofireObjectMapper','~> 4.0.0'
pod 'RealmSwift', '~> 2.0.2'
pod 'KeychainAccess', '~> 3.0.0'
pod 'ReachabilitySwift', '~> 3'
pod 'SwiftyBeaver', '~> 1.0.1'
pod 'GoogleAnalytics', '~> 3.17.0'
end
def unit_tests
app_pods
pod 'OHHTTPStubs', '~> 5.2.1'
pod 'OHHTTPStubs/Swift', '~> 5.2.1'
end
target 'Demo' do
app_pods
end
target 'App1' do
app_pods
end
target 'App2' do
app_pods
end
target 'DemoTests' do
unit_tests
end
target 'App1Tests' do
unit_tests
end
target 'App2Tests' do
unit_tests
end
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '3.0'
end
end
end
Ответ №1:
Я смог устранить эту проблему, выполнив следующее:
- Перейдите в настройки сборки
- Вверху выберите все и объединенные
- В разделе Параметры сборки вы должны увидеть Всегда внедрять стандартные библиотеки Swift, и это выделено жирным шрифтом.
- Щелкните по ней и нажмите удалить. Теперь ее следует отменить.
- Модуль устанавливается, и ошибка / errors должны исчезнуть!
Это не позволит мне опубликовать изображение, потому что у меня недостаточно репутации, поэтому вот ссылка на подробный снимок экрана!
Ответ №2:
Принятое решение работает, но теперь вы должны убедиться, что все ваши товарищи по команде выполняют его каждый pod install
.
И мы все знаем, что этого не произойдет.
Вы могли бы заставить CococaPods делать это автоматически, добавив это в нижнюю часть вашего Podfile
:
post_install do |installer_representation|
installer_representation.pods_project.targets.each do |target|
target.build_configurations.each do |config|
if config.name == 'MyPOD'
config.build_settings['ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES'] = 'Yes'
end
end
end
end
Дополнительная информация здесь:https://www.devsbedevin.net/cocoapods-always-embed-swift-standard-libraries /
Ответ №3:
Эта проблема была исправлена в следующем запросе на извлечениеhttps://github.com/CocoaPods/CocoaPods/pull/6068 и она должна отсутствовать в cocoapods версии 1.1.2 . Я получил информацию из следующей проблемы на githubhttps://github.com/CocoaPods/CocoaPods/issues/6067