J'ai eu un projet propre Swift, en utilisant certains cocoapods: Parse, AFNetworking et RESideMenu. J'ai besoin d'utiliser STZPopupView pod, j'ai donc mis à jour les cocoapods avec la dernière version:
gem install cocoapods
Puis je l'ai relancé pour mon projet:
pod install
En raison de cette erreur:
[!] Pods written in Swift can only be integrated as frameworks; this feature is still in beta. Add `use_frameworks!` to your Podfile or target to opt into using it.
J'ai mis à jour mon podfile en ajoutant "use_frameworks!"
Mon podfile est maintenant:
# Uncomment this line to define a global platform for your project
# platform :ios, '8.0'
use_frameworks!
source 'https://github.com/CocoaPods/Specs.git'
target 'isam' do
pod 'RESideMenu', '~> 4.0.7'
pod 'AFNetworking', '~> 2.5'
pod 'Parse', '~> 1.6'
pod 'STZPopupView', '~> 1.0'
end
target 'isamTests' do
end
Depuis, j'ai 2 erreurs quand je construis:
Je n'ai rien changé d'autre dans mon projet.
Mon Swift-Bridging-Header.h ne change pas:
#ifndef isam_Swift_Bridging_Header_h
#define isam_Swift_Bridging_Header_h
#import <Parse/Parse.h>
#import <RESideMenu.h>
#endif
Dans mes paramètres de construction, j'ai:
Je pense que c'est à cause de "use_frameworks!" dans mon podfile, mais je ne sais pas comment utiliser tous mes pods pour créer correctement mon application.
ÉDITER :
Les erreurs exactes sont:
/path_of_my_project/Swift-Bridging-Header.h:12:9: error: 'RESideMenu.h' file not found
#import <RESideMenu.h>
^
<unknown>:0: error: failed to import bridging header '/path_of_my_project/Swift-Bridging-Header.h'
Je suis en fait sur le même problème. Vous pouvez essayer ceci: http://www.innerexception.com/2015/05/cocoapods-useframeworks-means-bridging.html
Lorsque vous utilisez use_frameworks! dans CocoaPods, tous vos pods seront utilisés comme frameworks, pas seulement les pods Swift. Vous n'avez donc pas besoin d'un en-tête de pontage pour cela. Importez simplement vos pods dans tous les Swift fichiers dont vous avez besoin. Dans votre exemple, vous devez écrire: import RESideMenu
Essayez de supprimer isam/de l'en-tête de pontage Objective-C et ne disposez que de Swift-Bridging-Header.h
En raison de leur expérience personnelle, les CocoaPods ont encore des problèmes lors de la combinaison des frameworks Swift et Objective C. Vous pouvez utiliser Alamofire qui est presque équivalent à AFNetworking pour Swift.
J'espère que cela t'aides.
Edit: Aussi pourquoi utiliser Objectice-C Parse dans Swift quand vous pouvez directement utiliser Swift bibliothèques).
J'ai eu le même problème. J'ai changé toutes mes importations de #import "RESideMenu.h"
à #import <RESideMenu/RESideMenu.h>
par exemple.