Добавить зависимость Pod к классу плагина Flutter

Наконец, у меня есть метод MethodChannel настраиваемого плагина Flutter для создания hello-world.

Но теперь я хотел бы явно добавить зависимость к части iOS класса плагина (очевидно, не к части Android ...).

Однако это каким-то образом укусило змею в своей истории, поскольку класс плагина сам является частью Flutter Pod. Так как это работает ?

Я добавил следующее в / iOS / Podfile

target 'Runner' do
  use_frameworks!

  pod `MyPodDependency`

Код компилируется.

Но import MyPodDependency терпит неудачу. (внутри моего класса плагинов, где я также программирую код public func handle(_ call: FlutterMethodCall, result: @escaping FlutterResult) {...}, который находится в ../Pod/../../../../ios/Classes/MyPluginClass.swift)

Мой вопрос: как мне импортировать MyPodDependency в часть iOS Flutter Plugin-Class?

В какой из подфайлов мне нужно добавить свой под.

Могу ли я использовать любую импортированную платформу внутри класса плагина (где находится метод handle FlutterMethodCall)? И если да, то как ???


person iKK    schedule 10.01.2019    source источник
comment
У меня такая же проблема, когда я пытаюсь использовать свой локальный .framework в плагине flutter. Вы нашли решение?   -  person Umair M    schedule 18.12.2019


Ответы (1)


Вы должны помнить, что плагин должен работать в любом проекте, а не только в вашем. Вот почему его зависимости не должны находиться внутри файла pod вашего проекта, а должны содержаться в его собственном файле зависимостей, в противном случае всем всегда придется вручную добавлять каждую зависимость всех плагинов, используемых в проекте.

При этом на зависимости вашего плагина должна быть ссылка в файле .podspec, расположенном в каталоге / ios вашего плагина. Это будет выполнено, когда вы запустите «pod install» в своем проекте, получив все внешние зависимости, необходимые вашему плагину. Если вы посмотрите в существующий файл, он уже представляет одну зависимость:

s.dependency 'Flutter'

Следуйте примеру и добавьте другие зависимости плагина ниже.

Наконец, вам нужно будет добавить плагин в свой проект Flutter. Просто добавьте его в файл pubspec, как и все остальные плагины.

person dcg    schedule 06.08.2019
comment
А как мне добавить зависимость от git? Мне нужно добавить pod 'SDK-iOS', :git => "https://github.com/cloudpayments/SDK-iOS", :branch => "master" в свой плагин. Но похоже, что файл .podspec не позволяет мне этого делать. - person shushper; 13.10.2020