素晴らしいFlutterプロジェクトを構築しました。これは、exportframeworkとして、ネイティブlibrariesと同様に、 ソースコードは非表示です(動的フレームワークに変換)。
私たちは指示に従いました: https://github.com/flutter/flutter/wiki/Add-Flutter-to-existing-apps
これにより、FlutterEngine
を初期化し、FlutterViewController
を使用して、FlutterプロジェクトをHost iOSアプリに含めることができます。
問題は、動的フレームワークをどのように作成するか、つまりSomeProductSDK.frameworkとしましょう。これにより、SomeProductSDK関連モーダルスクリーン?
// In any app
import SomeProductSDK
let controller = TransactionViewController() // SomeProductSDK.framework with partial implementation with flutter
self.present(controller, animated: true)
私はあなたが望むものを部分的に達成しました。これらはすべて非常に実験的なものであり、プロダクション対応のSDKには全体的に悪い考えです。しかし...それは可能です。
+ (void)launchFrom:(UIViewController *)parent
でLauncherクラスを作成します。これにより、FlutterViewControllerが作成され、表示されます。xcodebuild archive
無効な署名付き。フレームワークのコードは必ずデフォルトでFlutter SDKに依存するため、フレームワークをネイティブライブラリとしてエクスポートするには、フレームワークを使用するユーザー(ユーザー)が自分のコンピューターにFlutter SDKをインストールしていることを確認する必要があります。したがって、あなたがしようとしていることは、pub.devに独自のパッケージを持っていることと同じです。
エクスポートするフレームワークを作成する方法が見つかった場合-Flutterのフレームワークとは関係なく、フレームワークとしてエクスポートするのが理にかなっています。 (それは間違いなく可能ですが、そこにフレームワークを配置するためだけに投入する作業量と時間を確認してください。同じ努力と時間で独自のFlutterフレームワークを構築することもできます)
素晴らしいFlutter Projectをすでに作成しているので、パッケージとして https://pub.dev/ にアップロードすることを検討してくださいあなたが望むなら。
提案:パッケージを試してみたいユーザーにFlutterのインストールを依頼できます。このようにして、あなたの努力は無駄になりません。
結論:あなたがしようとしていることを達成することは実際的に実現可能ではありません。