web-dev-qa-db-fra.com

Comment activer Swift support pour le projet existant dans flutter

Je veux savoir s'il existe un moyen d'activer Swift support pour le projet flutter. J'ai uniquement activé le support Kotlin lors de la création du projet. J'ai besoin d'activer Swift Existe-t-il une commande que je peux exécuter ou tout paramètre dans le plugin flutter pour Android studio où je peux activer ou existe-t-il une option à activer dans Xcode?

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

C'est ce que je veux faire mais pour le projet Flutter existant

19
Shashi Kiran

Eh bien, je recherche la même chose maintenant, j'active également le support kotlin ... alors, comment activer Swift ou support kotlin pour un projet existant?

  1. Pour le support Swift, vous devez déplacer votre dossier ios vers l'extérieur du dossier de votre projet.
    Cela s'applique également à kotlin, mais vous devez vérifier si votre dossier de projet porte le même nom que le dernier mot de votre package (com.example .project_folder_name).

  2. Exécutez la commande ci-dessous dans terminal/cmd, sur le dossier racine de votre projet ...
    - i Swift est pour Swift
    - un kotlin est pour le kotlin.
    Vous ne pouvez utiliser qu'un seul de ces éléments ou les deux, (N'oubliez pas le point "." à la fin de la commande)

    flutter create -i Swift -a kotlin .
  1. * Appliquez à nouveau vos modifications personnalisées sur le dossier iOS (aka info.plist), maintenant dans le dossier Runner, vous n'avez plus main.m et AppDelegate.h fichiers , à la place, vous avez AppDelegate.Swift in Swift language, donc si vous devez y mettre des API, le code est différent.

  2. * Si vous appliquez -a une ligne kotlin, vérifiez vos modifications précédentes sur les fichiers dans le dossier Android (exemple: vérifiez le code de migration AndroidX dans build.gradle - gradle.properties, vérifiez le manifeste et le vôtre). package.name), car la commande ajoute du code ou modifie complètement certains fichiers.

15
Hector Aguero
  1. Supprimez le dossier ios existant de la racine du projet flutter.
  2. Exécutez cette commande flutter create -i Swift .

Cette commande ne créera que le répertoire ios avec le support Swift.

14
Jawand Singh

Petit secret connu - vous pouvez exécuter flutter create . dans votre répertoire d'application Flutter et il réparera le projet, recréant tous les fichiers manquants. Donc, si vous avez déjà un projet créé avec Objective-C et Java, vous pouvez exécuter:

flutter create . -i Swift -a kotlin

pour convertir l'application hôte en Kotlin et Swift.

(Ignorez Kotlin, vous voulez, mais mon expérience est que laissez-le là)

6
TruongSinh

Un en-tête de pontage doit être créé. Ouvrez le projet avec XCode. Choisissez ensuite Fichier -> Nouveau -> Fichier -> Swift. Une boîte de dialogue s'affiche lors de la création du fichier Swift (Étant donné que ce fichier est supprimé, tout nom peut être utilisé.). XCode vous demandera si vous souhaitez créer un en-tête de pontage, cliquez sur oui. Assurez-vous que vous avez use_frameworks! dans le bloc Runner, dans ios/Podfile。 Assurez-vous que Swift_VERSION 4.2 est sélectionné dans votre XCode -> Paramètres de construction Nettoyer le flutter Allez dans votre dossier ios, supprimez le dossier Podfile.lock et Pods, puis exécutez l'installation du pod --repo-update

1
Alberto Diaz

Pour le scénario où vous avez déjà un module ios partiellement écrit en Objective-C, et que vous voulez maintenant utiliser Swift code à côté, je vous suggère de faire un clic droit sur ios dans project window et choisissez Open iOS module in XCode ceci depuis le menu contextuel

context menu

Vous pouvez simplement suivre ces instructions: https://developer.Apple.com/documentation/Swift/imported_c_and_objective-c_apis/importing_Swift_into_objective-c

Si votre plan est de réécrire le module en Swift alors je créerais un nouveau projet avec le même nom que votre original et activé Swift support. Than Je copierais simplement l'ensemble du module ios dans votre projet d'origine.

0
muminers