Как использовать одни и те же модули для iOS и TVOS? - PullRequest
0 голосов
/ 15 октября 2019

Я хочу использовать один и тот же модуль для iOS и TVOS. Для этого у меня есть код записи в файле pod, как это,

def shared_pods
    pod 'Moya', '~> 9.0' #Alamofire wrapper
    pod 'AlamofireNetworkActivityLogger', '~> 2.0'
    pod 'AlamofireObjectMapper'
    pod 'ReachabilitySwift', '~> 4.0'
    pod 'SDWebImage', '~> 4.4.5'

end

target 'iosApp' do
  platform :ios, '9.0'
  use_frameworks!
  inhibit_all_warnings!
  shared_pods

end

target 'TVApp' do
    platform :tvos, '9.0'
    use_frameworks!
    inhibit_all_warnings!
    shared_pods
end

Но я получаю ошибку The platform of the target TVApp (tvOS 9.0) is not compatible with Stripe, which does not support tvOS.

Другие пакеты, такие как, pod 'DynamicCodable' pod 'Stripe', '~> 15.0.1' pod 'GooglePlacesSearchController' pod 'Google-Mobile-Ads-SDK' pod 'NTMonthYearPicker' pod 'NYTPhotoViewer', '~> 1.1.0' pod 'MGSwipeTableCell' pod 'SendBirdSDK', '~> 3.0' pod 'FLAnimatedImage' pod 'RSKImageCropper' #tappable label pod 'ActiveLabel' #calendar pod 'FSCalendar' #Location pod 'GooglePlaces' pod 'CreditCardValidator' pod 'FittedSheets' pod 'Branch' pod 'CarbonKit' pod 'AWSS3' также не совместимы с tvOS, но яхочу использовать те в tvOS.

Как использовать одну и ту же платформу для обеих ОС?

Ответы [ 3 ]

2 голосов
/ 15 октября 2019

Модуль Moya совместим с tvOS, как вы можете видеть в его .podspec файле :

  s.tvos.deployment_target = '9.0'

Я попытался запустить проект с вашей конфигурацией .podspec, и у меня было несколькопроблемы с устаревшей зависимостью Moya sub "Result", "~> 3.0". Однако в последнем выпуске эта зависимость была обновлена ​​до "Result", "~> 4.1", и я смог успешно запустить Moya на iOS 9.0.

Попробуйте использовать самый последний выпуск:

def shared_pods
    pod 'Moya', '13.0.1' #Alamofire wrapper
    pod 'AlamofireNetworkActivityLogger', '~> 2.0'
    pod 'AlamofireObjectMapper'
    pod 'ReachabilitySwift', '~> 4.0'
    pod 'SDWebImage', '~> 4.4.5'
end

Редактировать

Однако, как вы упомянули при редактировании, все ваши зависимости от других модулей не совместимы с tvOS:

[!] The platform of the target `tvApp` (tvOS 9.0) is not compatible with `DynamicCodable (1.0)`, which does not support `tvOS`.
[!] The platform of the target `tvApp` (tvOS 9.0) is not compatible with `Stripe (15.0.1)`, which does not support `tvOS`.
[!] The platform of the target `tvApp` (tvOS 9.0) is not compatible with `GooglePlacesSearchController (0.2.1)`, which does not support `tvOS`.
[!] The platform of the target `tvApp` (tvOS 9.0) is not compatible with `Google-Mobile-Ads-SDK (7.41.0)`, which does not support `tvOS`.
[!] The platform of the target `tvApp` (tvOS 9.0) is not compatible with `NTMonthYearPicker (1.0.0)`, which does not support `tvOS`.
[!] The platform of the target `tvApp` (tvOS 9.0) is not compatible with `FLAnimatedImage (1.0.12)`, which does not support `tvOS`.
[!] The platform of the target `tvApp` (tvOS 9.0) is not compatible with `NYTPhotoViewer (1.1.0)`, which does not support `tvOS`.
[!] The platform of the target `tvApp` (tvOS 9.0) is not compatible with `MGSwipeTableCell (1.6.9)`, which does not support `tvOS`.
[!] The platform of the target `tvApp` (tvOS 9.0) is not compatible with `SendBirdSDK (3.0.154)`, which does not support `tvOS`.
[!] The platform of the target `tvApp` (tvOS 9.0) is not compatible with `RSKImageCropper (2.2.3)`, which does not support `tvOS`.
[!] The platform of the target `tvApp` (tvOS 9.0) is not compatible with `ActiveLabel (1.0.1)`, which does not support `tvOS`.
[!] The platform of the target `tvApp` (tvOS 9.0) is not compatible with `FSCalendar (2.8.0)`, which does not support `tvOS`.
[!] The platform of the target `tvApp` (tvOS 9.0) is not compatible with `GooglePlaces (3.5.0)`, which does not support `tvOS`.
[!] The platform of the target `tvApp` (tvOS 9.0) is not compatible with `CreditCardValidator (0.4)`, which does not support `tvOS`.
[!] The platform of the target `tvApp` (tvOS 9.0) is not compatible with `FittedSheets (1.4.5)`, which does not support `tvOS`.
[!] The platform of the target `tvApp` (tvOS 9.0) is not compatible with `Branch (0.29.1)`, which does not support `tvOS`.
[!] The platform of the target `tvApp` (tvOS 9.0) is not compatible with `CarbonKit (2.3.1)`, which does not support `tvOS`.
[!] The platform of the target `tvApp` (tvOS 9.0) is not compatible with `AWSS3 (2.12.0)`, which does not support `tvOS`.

Чтобы проверить совместимость, вы можете открыть репозиторий модуля и проверитьфайл .podspec. Например, Stripe .podspec не имеет tvos.deployment_target.

. Вы не можете использовать фреймворки, несовместимые с целью проекта.

1 голос
/ 15 октября 2019

Я думаю, что ошибка вполне понятна? «Платформа целевого TVApp (tvOS 9.0) не совместима с Stripe, который не поддерживает tvOS». Похоже, что Stripe не работает на tvOS, поэтому вы не можете его использовать.

1 голос
/ 15 октября 2019

Из Stripe документации https://stripe.com/docs/mobile/ios написано:

Библиотека совместима с iOS 9.0 и выше

Вот почемуне работает для вашей tvos целевой платформы.

...