Установка Pod для среды с несколькими схемами - PullRequest
0 голосов
/ 14 мая 2019

Я новичок в программировании на iOS и сейчас хочу создать несколько сред для своих текущих приложений. Но когда я устанавливаю стручки, это успех, но мои стручки не распознаются. Это показывает ошибку

«Нет такого модуля»

во всех фреймворках, которые я устанавливаю.

Так вот моя схема выглядит так: enter image description here

и вот мои настройки файла конфигурации выглядят так: enter image description here

enter image description here

и вот мой Подфайл:

# Uncomment the next line to define a global platform for your project
platform :ios, '9.0'

abstract_target 'InviseeCommon' do
target 'Invisee' do
  # Comment the next line if you're not using Swift and don't want to use dynamic frameworks
  use_frameworks!

  # Pods for Invisee
  pod 'Alamofire', '~> 4.7.3'
  pod 'Gloss', '~> 2.0.1'
  pod 'RxSwift',    '~> 4.1.1'
  pod 'RxCocoa',    '~> 4.1.1'
  pod 'SkyFloatingLabelTextField', '~> 3.0'
  pod 'UICheckbox.Swift', '~> 1.0.0'
  pod 'M13Checkbox', '~> 3.2.2'
  pod 'ImageSlideshow', '~> 1.5'
  pod 'ImageSlideshow/Alamofire', '~> 1.7.0'
  pod 'SwiftyJSON', '~> 4.2.0'
  pod 'EPSignature', '~> 1.0.6'
  pod 'Firebase/Core'
  pod 'Firebase/Messaging'
#  pod 'netfox' # network debugging
#   pod 'NTMonthYearPicker' # date picker mode (for only show month and year
  pod 'SDWebImage', '~> 4.0'
  pod 'Kanna', '~> 4.0.0'
  pod 'IQKeyboardManagerSwift', '~> 6.1.1'
  pod 'RealmSwift'

  # UIs KIT
  pod 'SVProgressHUD' , '~> 2.2.5'
#   pod 'FlatUIKit' # flat ui kits
  pod "FDStackView", "1.0" # stack view backports  ( < ios 9.0 )
  pod 'XLPagerTabStrip', '~> 8.0.1' # android-pager-strip like tab
  pod "OALayoutAnchor", '~> 0.2.0' # layout anchor backport for ios <=8
  pod 'ActionSheetPicker-3.0', '~> 2.3.0' # ui sheet for picker
  pod 'Charts', '~> 3.2.0' # draw chart ability
  pod "FlexibleSteppedProgressBar", '~> 0.5.0'
  pod 'Pulley', '~> 2.6.0' # bottom sheet behavior like android
  pod "SwiftChart", '~> 1.0.1'
  pod 'LTHRadioButton', '~> 1.2.2'
  pod 'DropDown', '~> 2.3.6'
  pod 'QRCode', '~> 2.0'
  pod 'NVActivityIndicatorView', '~> 4.4.0'
  pod 'QRCodeReader.swift', '~> 8.2.0'
  pod 'EPSignature', '~> 1.0.6'
end

target 'Development' do
    pod 'InviseeDevelopment'
end

end

post_install do |installer|
    installer.pods_project.build_configurations.each do |config|
        config.build_settings.delete('CODE_SIGNING_ALLOWED')
        config.build_settings.delete('CODE_SIGNING_REQUIRED')
        config.build_settings['SWIFT_VERSION'] = '4.0'
    end

    installer.pods_project.targets.each do |target|
        if ['Charts','DropDown', 'RealmSwift', 'Pulley', 'LTHRadioButton'].include? "#{target}"
            print "Setting #{target}'s SWIFT_VERSION to 3.0\n"
            target.build_configurations.each do |config|
                config.build_settings['SWIFT_VERSION'] = '4.2'
            end
        else
            print "Setting #{target}'s SWIFT_VERSION to Undefined (Xcode will automatically resolve)\n"
            target.build_configurations.each do |config|
                config.build_settings.delete('SWIFT_VERSION')
            end
        end
    end
end

Что мне делать? Спасибо.

Ответы [ 2 ]

1 голос
/ 14 мая 2019

@ Lu's ответ больше не действителен, потому что link_with заменен на abstract_target из последней версии cocoapods.

Пожалуйста, смотрите ниже профильструктура для общей структуры и другой структуры для каждой цели

# There are no targets called "InviseeCommon" in any Xcode projects
abstract_target 'InviseeCommon' do
  pod 'Fabric'

  target 'Invisee' do
    pod 'Invisee'
  end

  target 'Development' do
    pod 'InviseeDevelopment'
  end
end

Обновление: 1

Для новой новой / дублированной цели:

Создайте дублирующую цель вместоновая схема.Ниже приведен скриншот ниже, как создать дублирующую цель.

How to duplicate target

Пример подфайла для моего демонстрационного проекта

abstract_target 'InviseeCommon' do
  pod 'Fabric'

  target '56128499' do
      pod 'Alamofire', '~> 4.7.3'
  end

  target 'Development' do
      pod 'Alamofire', '~> 4.7.1'
  end
end

Здесь Fabric является общим для всех целей и Alamofire(4.7.1) для разработки и Alamofire(4.7.3) для 56128499

Для новой схемы:

Всего reinstall какао-бобов

1 голос
/ 14 мая 2019

Перейдите в файл pod и определите pods, затем добавьте их к определенным целям:

def pods
    pod 'Pod 1', '~> 1.0'
end

target 'Target 1' do
    pods
end

target 'Target 2' do
    pods
end
...