Ich möchte einige Swift-Pods in meiner Objective-C-App verwenden. Daher muss ich Frameworks anstelle von statischen Bibliotheken verwenden. Das Aktivieren von use_frameworks!
in meiner Pod-Datei verursacht jedoch Töne von #import
-Fehlern.
Meine Poddatei:
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'
Das erste Problem war mit SSKeychain
pod:
Im Code füge ich SSKeychain ein, das "Anführungszeichen" #import "SSKeychain/SSKeychain.h"
verwendet, aber wenn ich das richtig verstehe, muss ich <angle>
von jetzt an #import <SSKeychain/SSKeychain.h>
verwenden. In diesem Fall erhalte ich jedoch dieselbe Fehlermeldung, jedoch in meinem Code.
Meine Bauphasen:
Jedenfalls habe ich Gabel von SSKeychain mit "Quotes" importiert ( https://github.com/adamwulf/sskeychain/commit/2b7fd878415e8e4f23f74636cdd8c993466d0749 ) und auf diese Version umgestellt.
Aber jetzt habe ich dasselbe Problem mit vielen anderen Hülsen (fast bei allen):
Import in App: #import "FBSDKCoreKit/FBSDKCoreKit.h"
Muss ich wirklich jedes Repo verzweigen und Import-Anweisungen ändern? Oder füge ich Pods falsch hinzu?
PS: Ich bereinige abgeleitete Daten und Projekte vor jedem Build-Versuch.
Kokosapod-Version: 0.39.0
Wenn Sie Modules in Ihrer Poddatei verwendet haben, können Sie nicht einfach Folgendes tun:
@import SSKeychain;
anstatt:
#import <SSKeychain/SSKeychain.h>
Um das zu testen:
Ich habe es endlich herausgefunden! Das Problem wurde behoben, indem Pods.framework
aus Link Binary With Libraries entfernt wurde und manuell erneut hinzugefügt wurde.
Danke für die Hilfe!
In meinem Fall habe ich bereits ein paar ObjC-Pods für mein Objective-C-Projekt heruntergeladen. Dann benötige ich einen Swift-Pod, damit ich use_framwork
in meiner Pod-Datei aktiviere und den Swift-Pod installiere in vielen Klassen, So
Was habe ich getan, um dieses Problem zu beheben?
cd path/myProject
pod install
pod install
Überprüfen Sie auch die Fehlermeldungen zu pod install
.
In meinem Fall habe ich einen benutzerdefinierten Import in FRAMEWORK_SEARCH_PATHS
verwendet, und nur weil ich das getan habe, wurden die zusätzlichen Suchpfade, die CocoaPods hinzufügt, nicht hinzugefügt, wenn ich pod install
tat. Also musste ich meinen benutzerdefinierten Pfad entfernen und dann tauchten sie auf. Dann habe ich meinen benutzerdefinierten Pfad hinzugefügt.
Vielleicht eine gute Idee, pod deintegrate
zu tun, die xcworkspace-Datei zu löschen und pod install
noch einmal zu tun. Fügen Sie dann Ihre benutzerdefinierten Einstellungen hinzu.
Dies ist der Fehler, den ich bekam:
[!] 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