26

我想知道是否有一种方法可以快速支持颤振项目。我只在创建项目时启用了 Kotlin 支持。我也需要启用 Swift。是否有我可以执行的命令或 Android Studio 的颤振插件中的任何设置,我可以在其中启用或者在 Xcode 中是否有启用选项?

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

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

4

6 回答 6

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

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

于 2019-04-15T07:22:57.463 回答
22

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

  1. 为了获得快速支持,您需要将ios文件夹移动到项目文件夹之外,对于 kotlin 移动到android文件夹之外,还要在清单中检查您的package姓名,或者您的PRODUCT_BUNDLE_IDENTIFIER

  2. 在您的项目根文件夹的终端中运行以下颤振命令(我正在使用com.custom_name.my_proyect此示例的包名称)

    • -i swift是为了迅速
    • -a kotlin适用于科特林。
    • --org是设置你的包的前两个单词,在本例中为 com.custom_name
    • --project-name是在这种情况下设置你的包的最后一句话my_proyect

您只能使用 switf/kotlin 或两者都使用,(不要忘记命令末尾的句点 ' . ')

    flutter create -i swift -a kotlin --org com.custom_name --project-name my_proyect .
  1. *在 ios 文件夹(例如:info.plist、自定义启动屏幕等)上再次应用您之前的自定义更改,现在在Runner您没有文件的文件夹中main.mAppDelegate.h而您只有AppDelegate.swiftswift 语言的文件,所以如果您需要放在API_KEYs那里,代码不同。

  2. *如果您应用 -a kotlin 行,与您android文件夹中 swift 的逻辑相同,因此您的MainActivy.java文件现在是MainActivity.ktkotlin 语言的文件,您需要再次应用您之前在 Android 文件夹中的自定义更改(例如:build.gradle, res 文件夹、android_manifest 等)。

于 2019-05-23T19:20:53.217 回答
11

鲜为人知的秘密——你可以flutter create .在 Flutter 应用程序目录中运行,它会修复项目,重新创建任何丢失的文件。所以如果你已经有一个用 Objective-C 和 Java 创建的项目,你可以运行:

flutter create -i swift -a kotlin .

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

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

于 2019-03-29T00:19:07.163 回答
2

必须创建桥接头。使用 XCode 打开项目。然后选择文件 -> 新建 -> 文件 -> Swift 文件。创建 swift 文件时会显示一个对话框(由于该文件已删除,因此可以使用任何名称。)。XCode 会询问您是否要创建桥接头,单击是。确保你有 use_frameworks!在 Runner 块中,在 ios/Podfile 中。确保在 XCode 中选择了 SWIFT_VERSION 4.2 -> Build Settings Do flutter clean 转到你的 ios 文件夹,删除 Podfile.lock 和 Pods 文件夹,然后执行 pod install --repo-update

于 2019-09-25T10:02:13.970 回答
0

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

之后运行这个命令 flutter create -i swift 。

于 2020-07-03T06:22:36.770 回答
0

对于你已经有一个ios部分用 Objective-C 编写的模块,现在只想使用 Swift 代码的场景,我建议你右键单击并从上下文菜单iosproject window选择它Open iOS module in XCode

上下文菜单

你可以按照这些说明操作: https ://developer.apple.com/documentation/swift/imported_c_and_objective-c_apis/importing_swift_into_objective-c

如果您的计划是快速重写模块,那么我会创建一个与原始项目同名的新项目并打开 Swift 支持。我只是将整个ios模块复制到您的原始项目中。

于 2018-12-30T12:58:06.437 回答