如何在Flutter中为现有项目启用Swift支持

时间:2018-09-09 12:02:17

标签: swift flutter flutter-plugin

我想知道是否有一种方法可以快速支持flutter项目。我在创建项目时仅启用了Kotlin支持。我也需要启用Swift。在Android Studio的flutter插件中可以执行的命令可以执行吗?可以在Xcode中启用吗?

This is what I want to do but for existing Flutter project

这是我想要做的,但对于现有的Flutter项目

6 个答案:

答案 0 :(得分:4)

  1. 从flutter项目的根目录中删除现有的ios文件夹。
  2. 运行此命令flutter create -i swift .

此命令将仅创建具有快速支持的ios目录。

答案 1 :(得分:1)

好吧,我现在搜索相同的东西,也启用了kotlin支持... 那么,如何为现有的proyect启用swift或kotlin支持?

  1. 将您的 ios 文件夹移到外部或项目文件夹中,如果该文件夹中的文件(例如info.plist,appDelegate或Podfile)没有任何更改,则可以将其删除。
  2. 在您的被保护对象的根文件夹中的terminal / cmd中运行此命令... -i swift 用于快捷, -a kotlin 用于kotlin,您只能使用其中之一,或同时使用这两种方式。 (不要忘记命令末尾的句点())
    flutter create -i swift -a kotlin .
  1. *再次将更改保存在Runner文件夹中的iOS文件夹(也称为info.plist)上,现在您没有 main.m AppDelegate.h 文件,而是您有 AppDelegate.swift 语言的快速语言,因此,如果您需要在其中放置API,则代码是不同的。

答案 2 :(得分:1)

必须创建桥接标题。 使用XCode打开项目。然后选择文件->新建->文件-> Swift文件。 创建快速文件时将显示一个对话框(由于该文件已删除,因此可以使用任何名称。)。 XCode会询问您是否要创建桥接标题,单击“是”。 确保您有use_frameworks!在Runner块中的ios / Podfile中。 确保在XCode->构建设置中选择了SWIFT_VERSION 4.2 做扑干净 转到您的ios文件夹,删除Podfile.lock和Pods文件夹,然后执行pod install --repo-update

答案 3 :(得分:0)

对于这样的情况,您已经有一个用Objective-C部分编写的ios模块,现在只想与Swift代码一起使用,建议不要在{{ 1}},然后从上下文菜单中选择ios

context menu

比起您,您可以按照以下说明进行操作: https://developer.apple.com/documentation/swift/imported_c_and_objective-c_apis/importing_swift_into_objective-c

如果您打算迅速重写模块,那么我将创建一个与原始项目同名的新项目并启用Swift支持。比起我,我将整个project window模块复制到您的原始项目中。

答案 4 :(得分:0)

鲜为人知的秘密-您可以在Flutter应用目录中运行flutter create . -i swift -a kotlin ,它将修复项目,并重新创建所有丢失的文件。因此,如果您已经有一个使用Objective-C和Java创建的项目,则可以运行:

{{1}}

将主机应用程序转换为Kotlin和Swift。

(忽略您想要的Kotlin,但我的经验是就把它留在那里)

答案 5 :(得分:0)

首先删除AppDelegate.h,AppDelegate.m,main.m文件 并从构建阶段中删除main.m->编译源代码

之后,运行此命令 颤动创建-i swift。