首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将颤振项目导出为SDK (iOS动态框架)

如何将颤振项目导出为SDK (iOS动态框架)
EN

Stack Overflow用户
提问于 2019-08-29 12:25:55
回答 2查看 2K关注 0票数 12

我们已经构建了一个令人敬畏的颤振项目,它具有很好的功能,我们希望将导出为框架,就像本地所做的那样,这样源代码就隐藏在< code >E29(转换为动态框架)。

我们遵循了指示:https://github.com/flutter/flutter/wiki/Add-Flutter-to-existing-apps

它允许我们在主机iOS应用程序中包括颤振项目,初始化FlutterEngine和使用FlutterViewController

问题是,我们如何创建一个动态框架,比如SomeProductSDK.framework,,它将公开一个公共方法来创建与SomeProductSDK相关的模式屏幕

代码语言:javascript
复制
// In any app
import SomeProductSDK

let controller = TransactionViewController() // SomeProductSDK.framework with partial implementation with flutter
self.present(controller, animated: true)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-09-07 10:20:34

我已经部分实现了你想要的。所有这些都是非常实验性的,总的来说,对于生产准备好的SDK来说是个糟糕的想法。但是..。这是可能的。

  1. 像往常一样创建颤振应用程序,并在iOS模拟器上运行一次。
  2. 打开Xcode工作区并添加新框架。为了我的目的,我将把它命名为RunnerLib。
  3. 将该框架的部署目标更改为与Runner相同。也禁用比特码。
  4. 将App.framework和Flutter.framework的目标成员资格更改为RunnerLib。
  5. 用一个静态方法创建Launcher类:+ (void)launchFrom:(UIViewController *)parent,这应该创建一个FlutterViewController并呈现它。
  6. 重写Runner以使用Launcher类。将FlutterAppDelegate替换为标准AppDelegate、make ViewController等。它应该看起来像标准的原生iOS项目,这样您就可以创建一个项目并在AppDelegate、故事板和ViewController上复制。
  7. 在视图控制器、viewDidAppear或按钮上的IBAction中调用IBAction方法。
  8. 您应该能够构建运行程序,并看到颤振屏幕出现。
  9. 现在,如果您构建了Runner.app,您可以打开板条箱Runner.app,并看到框架目录包含三个框架:App、Flutter和Runner。
  10. 您将需要两组框架:一组用于模拟器,以调试模式编译,另一组用于设备存档。获得调试框架非常容易,只需从Xcode编译并检查产品。归档框架更难,我建议使用禁用签名的xcodebuild archive
  11. 您的用户将不得不根据设备配置他们的项目以使用正确的框架。这个步骤可能可以通过迦太基和fat二进制文件实现自动化,但我不确定。问题在于App.framework,它在设备上和模拟器上看起来完全不同。

源代码:lib

票数 8
EN

Stack Overflow用户

发布于 2019-09-03 14:13:00

为了将框架导出为本机库,您必须确保将使用您的框架的人(用户)安装在他的计算机上,因为您的框架的代码在默认情况下肯定会依赖framework。因此,您想要做的就是在pub.dev上拥有自己的包。

如果您找到了某种方法来构建您想要导出的框架--独立于Flutter的框架,那么只有将它作为一个框架导出才有意义。(毫无疑问,这样做是可能的,但是看看你将投入多少工作和时间来实现你的框架。你本可以在同样的努力和时间里建立自己的颤振框架)

既然你已经做了一个很棒的颤振项目,如果你愿意的话,可以考虑把它作为一个包上传到https://pub.dev/上。

建议:你可以问用户谁想尝试你的软件包安装颤振。这样你的努力就不会白费了。

结论:实现你想要做的事情实际上是不可行的。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57710176

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档