Добавить зависимость Pod к классу плагина Flutter - PullRequest
0 голосов
/ 11 января 2019

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

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

Тем не менее, это как-то кусает змею в ее рассказе, так как класс плагинов сам является частью Флаттера. Так как же это работает?

Я добавил следующее в / 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?

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

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

1 Ответ

0 голосов
/ 06 августа 2019

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

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

s.dependency 'Flutter'

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

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

...