it-swarm.com.de

Kein solches Modul ... in Xcode

Ich bin auf ein Problem mit Xcode (mit Swift) gestoßen, das mich völlig aufgehalten hat. Mir ist klar, dass diese Frage gestellt und beantwortet wurde, aber keine der Antworten hat für mich funktioniert, und meine Situation scheint ein bisschen anders zu sein als die andere, da alle meine Schoten ausfallen (nicht nur eine bestimmte). Sie haben alle vor einer Woche gut funktioniert.

Ich verwende Cocoapods für einige der allgemeineren Swift-Frameworks (z. B. Alamofire, Eureka, Kingfisher, SwiftyJSON usw.). Sie funktionierten alle einwandfrei in Xcode 7. Allerdings wurde bei einem der (automatischen) Updates meine Xcode-Version hochgefahren. Danach wurde es obligatorisch, Ihr Ziel in der Pod-Datei anzugeben. Ich habe das gemacht und die Pod-Installation ausgeführt. Die Pods sind alle noch vorhanden, aber jetzt schlägt jede Import-Anweisung, die sich auf diese Frameworks bezieht, fehl.

Zuerst dachte ich, es wäre ein Alamofire-Problem, da dies das erste Problem war, das mit dem Fehler "Kein solches Modul 'Alamofire'" fehlgeschlagen ist. Ich habe alles versucht, was ich mit Alamofire konnte, einschließlich der folgenden:

  • Reinigen und neu aufbauen
  • Bereinigen Sie den Ordner
  • Starten Sie Xcode neu 
  • Starten Sie den Computer neu
  • Löschen Sie alle abgeleiteten Daten 
  • Framework zu "Linked Frameworks und Bibliotheken" hinzugefügt
  • Framework zu "Binäres mit Bibliotheken verknüpfen" hinzugefügt
  • Verifiziert, dass ich den Arbeitsbereich und nicht das Projekt öffne
  • Erneut installierte CocoaPods
  • Neuinstalliert Xcode Version 7.3.1

Nichts würde den Fehler "Kein solches Modul ..." entfernen. Schließlich entfernte ich Alamofire aus den Hülsen und zog das Alamofire-Projekt einfach in mein Projekt. Dadurch konnte ich die Importanweisungen für Alamofire entfernen. Zu meinem Entsetzen verursachte das nächste Framework jedoch "Kein solches Modul". Ich habe die nächsten drei Frameworks in mein Projekt verschoben und es sieht so aus, als würde es einfach weitergehen. Anscheinend wird keines meiner Pods-Frameworks mehr erkannt. Ich habe Xcode 8 installiert und das mit Swift 2.3 ausprobiert, aber ich bekomme die gleichen Fehler "Kein solches Modul".

Ich würde lieber Cocoapods verwenden, da Upgrades und andere Boni viel einfacher sind. Ich vermute, ich habe einige falsche Einstellungen, die alle meine Schoten vermasseln, aber ich hatte kein Glück, sie zu finden. Dies ist ein bisschen eine Katastrophe, da die Entwicklung für mehrere Tage abgebrochen wurde und es keine Anzeichen für eine Behebung gab. Wenn ich irgendetwas tun kann, um eine Lösung zu finden, lass es mich wissen. Wenn irgendjemand irgendwelche möglichen Lösungen oder sogar Dinge zur Verfügung stellen könnte, wäre dies sehr dankbar. Ich arbeite derzeit mit Xcode Version 7.3.1. 

Meine Pod-Datei sieht ungefähr so ​​aus:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'

target 'Y2GOsp' do
    use_frameworks!

    # Pods for Y2GOsp
    pod 'Alamofire', '~> 3.0'
    pod 'AlecrimCoreData', '~> 4.0'
    pod 'Kingfisher', '~> 2.4'
    pod 'Eureka', '~> 1.6'
    pod 'SwiftyJSON', :git => 'https://github.com/SwiftyJSON/SwiftyJSON.git', :branch => 'xcode7'
    pod 'PhoneNumberKit', '~> 0.1'
    pod 'PKHUD'
    pod 'Dollar'
end

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

Kommentare von @ l'L'l führten mich zur Lösung. ich ging zu 

build settings > frameworks search path

und stell es auf folgendes:

$(inherited) (non-recursive)
$(PROJECT_DIR)/build/Debug-iphoneos (non-recursive)
$(SRCROOT) (recursive)

Jetzt werden die Pod-Frameworks richtig gefunden.

19
Lastmboy

Stellen Sie sicher, dass Sie die .xcworkspace-Datei in Xcode und nicht nur in der .xcodeproj-Datei geöffnet haben.

2
Siklab.ph

In Pod-Datei

Kommentieren Sie die folgenden Zeilen, um eine globale Plattform für Ihr Projekt zu definieren

Plattform: ios, '10 .0 '

use_frameworks!

Jetzt in xcode

a) Reinigen Sie Ihr Projekt

b) Stellen Sie sicher, dass alle "Pods"> "Build-Einstellungen"> "Nur aktive Architektur erstellen" auf "NEIN" gesetzt sind.

c) Jetzt Projekt erstellen 

1
krish

versuchen Sie, die Version Ihres SDK in frühere Versionen umzuwandeln

pod 'Alamofire', '~> 3.0'
pod 'AlecrimCoreData', '~> 4.0'
pod 'Kingfisher', '~> 2.4'
pod 'Eureka', '~> 1.6'
pod 'SwiftyJSON', :git => 'https://github.com/SwiftyJSON/SwiftyJSON.git', :branch => 'xcode7'
pod 'PhoneNumberKit', '~> 0.1'
pod 'PKHUD'
pod 'Dollar'

Ändern Sie beispielsweise die Version 3.0 in die verfügbare vorherige Version. Es hat einmal funktioniert, als ich vor demselben Problem stand. 

pod 'Alamofire', '~> 2.4' #I am assuming prev available version is 2.4

Es muss jedoch nicht die "Alamofire" -Version sein, die zu "No solart Module" führt. Sie können jeden in Ihrer Liste in der Pod-Datei ausprobieren.

1