Je souhaite utiliser certains pods Swift dans mon application Objective-C. Je dois donc utiliser des frameworks plutôt que des bibliothèques statiques. Mais activer use_frameworks!
dans mon fichier Podfile provoque des erreurs #import
.
Mon Podfile:
platform :ios, '8.0'
use_frameworks!
pod 'AFNetworking', '2.6.0'
pod 'Typhoon'
pod 'SSKeychain'
pod 'JBWebViewController'
pod 'TTTAttributedLabel'
pod 'HockeySDK'
pod 'GoogleAnalytics'
pod 'Intercom'
pod 'FBSDKCoreKit'
pod 'FBSDKLoginKit'
pod 'UIButton+Activity'
pod 'HexColors'
pod 'AFNetworkActivityLogger'
pod 'HCSStarRatingView', :git => 'https://github.com/hsousa/HCSStarRatingView.git'
pod 'LGSideMenuController'
pod 'DateTools'
pod 'SDWebImage'
pod 'SSCWhatsAppActivity'
pod 'UIViewController+BlockSegue'
Le premier problème concernait le module SSKeychain
:
Dans le code, SSKeychain est utilisé avec "quotes" #import "SSKeychain/SSKeychain.h"
, mais si je comprends bien, je dois utiliser <angle>
à partir de maintenant #import <SSKeychain/SSKeychain.h>
? Mais dans ce cas, je reçois la même erreur, mais dans mon code.
Mes phases de construction:
Quoi qu'il en soit, j'ai trouvé fork de SSKeychain avec une importation "quotes" ( https://github.com/adamwulf/sskeychain/commit/2b7fd878415e8e4f23f74636cdd8c993466d0749 ) et est passée à cette version.
Mais maintenant, j'ai le même problème avec beaucoup d'autres pods (presque avec tous):
Importer dans l'application: #import "FBSDKCoreKit/FBSDKCoreKit.h"
Ai-je vraiment besoin de bifurquer chaque dépôt et de modifier les instructions d'importation? Ou j'inclus mal les gousses?
PS: Je nettoie les données et les projets dérivés avant chaque tentative de construction.
Cocoapods Version: 0.39.0
Comme vous avez utilisé Modules dans votre Podfile, pourquoi ne pas simplement:
@import SSKeychain;
au lieu de:
#import <SSKeychain/SSKeychain.h>
Pour tester cela:
Je l'ai enfin compris! Le problème a été résolu en supprimant Pods.framework
dans Lien binaire avec bibliothèques et en les ajoutant à nouveau manuellement.
Merci pour l'aide!
Dans mon cas, quel était le problème? J'ai déjà téléchargé quelques pods ObjC pour mon projet Objective C, puis j’ai besoin d’un pod Swift pour pouvoir activer use_framwork
dans mon fichier pod et installer ce pod Swift. Après l’installation, le problème d’importation de pods Swift arrive pour les bibliothèques ObjeC. dans de nombreuses classes, donc
Qu'est-ce que j'ai fait pour résoudre ce problème?
cd path/myProject
pod install
pod install
Vérifiez également les messages d'erreur sur pod install
.
Dans mon cas, j'utilisais une importation personnalisée dans FRAMEWORK_SEARCH_PATHS
, et juste parce que je le faisais, chaque fois que je le faisais pod install
, les chemins de recherche supplémentaires ajoutés par CocoaPods n'étaient pas ajoutés. J'ai donc dû supprimer mon chemin personnalisé, puis ils se sont présentés. Puis j'ai ajouté mon chemin personnalisé.
Peut-être une bonne idée de faire pod deintegrate
, supprimer le fichier de xcworkspace et refaire pod install
une fois de plus. Ajoutez ensuite vos paramètres de construction personnalisés.
C'est l'erreur que je devenais:
[!] The App [Debug] target overrides the FRAMEWORK_SEARCH_PATHS
build setting defined in Pods/Target Support Files/Pods-AppLib/Pods-AppLib.debug.xcconfig.
This can lead to problems with the CocoaPods installation