我想知道是否有一种方法可以快速支持颤振项目。我只在创建项目时启用了 Kotlin 支持。我也需要启用 Swift。是否有我可以执行的命令或 Android Studio 的颤振插件中的任何设置,我可以在其中启用或者在 Xcode 中是否有启用选项?
这是我想要做的,但对于现有的 Flutter 项目
我想知道是否有一种方法可以快速支持颤振项目。我只在创建项目时启用了 Kotlin 支持。我也需要启用 Swift。是否有我可以执行的命令或 Android Studio 的颤振插件中的任何设置,我可以在其中启用或者在 Xcode 中是否有启用选项?
这是我想要做的,但对于现有的 Flutter 项目
ios
从颤振项目的根目录中删除现有文件夹。flutter create -i swift .
此命令将仅创建ios
具有 swift 支持的目录。
好吧,我现在搜索同样的东西,我也启用了 kotlin 支持......那么,如何为现有项目启用 swift 或 kotlin 支持?
为了获得快速支持,您需要将ios文件夹移动到项目文件夹之外,对于 kotlin 移动到android文件夹之外,还要在清单中检查您的package
姓名,或者您的PRODUCT_BUNDLE_IDENTIFIER
在您的项目根文件夹的终端中运行以下颤振命令(我正在使用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 .
*在 ios 文件夹(例如:info.plist、自定义启动屏幕等)上再次应用您之前的自定义更改,现在在Runner
您没有文件的文件夹中main.m
,AppDelegate.h
而您只有AppDelegate.swift
swift 语言的文件,所以如果您需要放在API_KEYs
那里,代码不同。
*如果您应用 -a kotlin 行,与您android
文件夹中 swift 的逻辑相同,因此您的MainActivy.java
文件现在是MainActivity.kt
kotlin 语言的文件,您需要再次应用您之前在 Android 文件夹中的自定义更改(例如:build.gradle, res 文件夹、android_manifest 等)。
鲜为人知的秘密——你可以flutter create .
在 Flutter 应用程序目录中运行,它会修复项目,重新创建任何丢失的文件。所以如果你已经有一个用 Objective-C 和 Java 创建的项目,你可以运行:
flutter create -i swift -a kotlin .
将宿主应用程序转换为 Kotlin 和 Swift。
(忽略你想要的 Kotlin,但我的经验是把它留在那里)
必须创建桥接头。使用 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
首先删除 AppDelegate.h、AppDelegate.m、main.m 文件并从构建阶段删除 main.m -> 编译源
之后运行这个命令 flutter create -i swift 。
对于你已经有一个ios
部分用 Objective-C 编写的模块,现在只想使用 Swift 代码的场景,我建议你右键单击并从上下文菜单ios
中project 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
模块复制到您的原始项目中。