Перенесите мой модуль на Swift 4


Я создал свой стручок в Swift 3, и теперь я хочу перенести его в Swift 4.

Я уже сделал миграцию кода в примере проекта (я решил создать пример при запуске pod lib create), но мой подспек все еще не проходит проверку.

Одна из причин заключается в том, что конфигурация cocoapods по умолчанию компилирует его как Swift 3.

Другой заключается в том, что для обновления зависимостей для компиляции с помощью Swift 4 Мне нужно сослаться на конкретную ветвь, например RxSwift, но я не мог найти способ сделать это в подспеце.

Как я могу исправить эти проблемы?

1 2

1 ответ:

Согласно CocoaPods: укажите на ветвь в pod spec

Вы не можете использовать метаданные :git и :branch в podspec. Ожидается, что метаданные :git и: branch будут получены из подфайла.

Если вы хотите использовать теги, то используйте как показано ниже: rxcocoa/RxSwift для тега swift 4(4.0.0-beta.0)

Pod::Spec.new do |s|
    ###Your code here
    s.dependency 'RxCocoa', '~> 4.0.0-beta.0'
    s.dependency 'RxSwift', '~> 4.0.0-beta.0'
end

Если вы хотите использовать ветвь, то Ваш podspecвыглядит следующим образом:

Pod::Spec.new do |s|
    ###Your code here
    s.dependency 'RxSwift'
end

Ваш Podfile будет:

use_frameworks!

target 'YOUR_TARGET' do
    pod 'RxSwift', :git => 'https://github.com/ReactiveX/RxSwift.git', :branch => 'rxswift4.0-swift4.0'
end