web-dev-qa-db-fra.com

CocoaPods et Swift 3.0

Je veux juste essayer Swift 3.0 dans l'un de mes projets. Xcode ouvre la fenêtre de migration pour mettre à jour mon projet afin d’utiliser Swift 3.0.

Le problème est que je veux juste mettre à jour mon projet et laisser le projet Pods intact, car toutes les modifications seront annulées après avoir exécuté à nouveau le pod install.

Quelqu'un a déjà une solution pour ça?

21

Ce que vous demandez n'est pas possible. Xcode construit vos dépendances Cocoapods ainsi que votre projet. Vous ne pouvez pas mélanger les codes Swift 2.x et Swift 3 dans le même projet, ni utiliser des Cocoapods avec Swift 3 écrits dans Swift 2.x.

28
JAL

Utilisez simplement les commandes suivantes à la fin de votre podfile et cela configurera votre fichier de pods pour que les frameworks prennent automatiquement le compilateur Swift 3 ou le compilateur hérité afin que vous n'obteniez pas l'impossibilité d'utiliser Swift 2.1 dans Swift 3 et ainsi de suite.

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['Swift_VERSION'] = '3.0'
    end
  end
end

En utilisant cela, jetez un coup d’œil à l’exemple suivant de mon podfile. Assurez-vous simplement que la déclaration de fin ne se trouve pas avant le bloc que j'ai écrit ci-dessus.

platform :ios, '8.0'
use_frameworks!

target 'Project 1'

pod 'FacebookCore'
pod 'FacebookLogin'
pod 'FacebookShare'

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['Swift_VERSION'] = '3.0'
    end
  end
end
4
Asfand Shabbir

Cela pourrait aider Guide de migration rapide

Directement de Swift.org

Utilisation des projets Carthage/CocoaPods

Si vous utilisez des modules Swift binaires provenant d'autres projets qui ne sont pas construits avec votre projet dans votre espace de travail Xcode, vous pouvez choisir l'une des stratégies de migration suivantes:

  1. Incluez le code source du projet dans votre espace de travail Xcode. Avec cette approche, vous allez créer et migrer le projet open source Avec votre propre projet.
  2. Utilisez Xcode 7.3 [.1] pour apporter les modifications nécessaires et valider que Le projet construit et relie tout correctement.
  3. Incluez les autres fichiers de projet Xcode dans votre espace de travail et configurez votre structure pour construire les cibles dont dépend votre projet . Si vous avez configuré des chemins de recherche dans la structure pour trouver le binaire Modules Swift dans le dossier de construction de Carthage, Vous devez soit supprimer les chemins de recherche, soit nettoyer le dossier de construction, de manière à vous assurer que. vous utilisez uniquement les modules Swift créés à partir de votre espace de travail Xcode

Attendez que le projet open-source en amont soit mis à jour vers Swift 2.3 ou Swift 3

Vous pouvez suivre ce flux de travail pour la migration de votre projet:

  1. Gardez votre projet en construction avec Xcode 7.3
  2. Appelez l'assistant de migration et appliquez les modifications de source suggérées pour votre propre projet uniquement (pour Swift 2.3 ou Swift 3).
  3. Avant d'essayer de construire, modifiez le fichier de dépendance Carthage/CocoaPods .__ et spécifiez la balise/branche spécifique du projet qui est Migrée vers Swift 2.3 ou Swift 3; Mettez à jour vos dépendances et essayez de construire votre projet avec les dépendances mises à jour et les modifications source apportées par le migrateur.
4
harsh_v

tous les xcode utilisés utilisent les derniers cocoapodes et suppriment les cocoapodes et installent à nouveau les dernières avec cette étape surly work dans Swift 3.0 i utilisés dans Swift 3.0 

0.Sudo gem installer des cocoapods

1.cd (faites glisser votre dossier de projet)

2.Sudo gem installer des cocoapods

3.touch podfile // créer un podfile

4.open -e podfile

5. plate-forme: ios, '10 .0 ' Use_frameworks!

cible '' do pod 'Alamofire', '~> 4.4' end

6.ctrl + s

7.ctrl + q

8.pod installer

0
ronak patel