Ich möchte Swift in meinem Objective-C-Projekt verwenden. Also habe ich eine schnelle Klasse hinzugefügt:
import Foundation
@objc class System : NSObject {
@objc func printSome() {
println("Print line System");
}
}
Und importierte es in eine .m-Datei:
#import "MyProjectName-Swift.h"
Beim Erstellen meines Projekts wird folgende Fehlermeldung angezeigt:
Bridging header 'PathToMyProject/MyProjectName-Bridging-Header.h' does not exist
HINWEIS: Unter "Build-Einstellungen-> Swift Compiler - Codegenerierung-> Objective-C-Briding-Header" wird MyProjectName-Bridging-Header.h festgelegt
Was soll ich tun, um dieses Problem zu lösen?
Jede Hilfe wird sehr geschätzt.
EDIT: Bridging-Header-Datei: #if defined (__ has_include) && __has_include () # include #endif
#include <objc/NSObject.h>
#include <stdint.h>
#include <stddef.h>
#include <stdbool.h>
#if defined(__has_include) && __has_include(<uchar.h>)
# include <uchar.h>
#elif __cplusplus < 201103L
typedef uint_least16_t char16_t;
typedef uint_least32_t char32_t;
#endif
#if !defined(SWIFT_PASTE)
# define SWIFT_PASTE_HELPER(x, y) x##y
# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
#endif
#if !defined(SWIFT_METATYPE)
# define SWIFT_METATYPE(X) Class
#endif
#if defined(__has_attribute) && __has_attribute(objc_runtime_name)
# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
#else
# define SWIFT_RUNTIME_NAME(X)
#endif
#if !defined(SWIFT_CLASS_EXTRA)
# define SWIFT_CLASS_EXTRA
#endif
#if !defined(SWIFT_PROTOCOL_EXTRA)
# define SWIFT_PROTOCOL_EXTRA
#endif
#if !defined(SWIFT_CLASS)
# if defined(__has_attribute) && __has_attribute(objc_subclassing_restricted)
# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
# else
# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# endif
#endif
#if !defined(SWIFT_PROTOCOL)
# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
#endif
#if !defined(SWIFT_EXTENSION)
# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
#endif
#if !defined(OBJC_DESIGNATED_INITIALIZER)
# if defined(__has_attribute) && __has_attribute(objc_designated_initializer)
# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
# else
# define OBJC_DESIGNATED_INITIALIZER
# endif
#endif
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
#if defined(__has_feature) && __has_feature(modules)
#endif
#pragma clang diagnostic pop











MyProjectName-Swift.hundMyProjectName-Bridging-Header.harbeiten in entgegengesetzte Richtungen.MyProjectName-Swift.hwird automatisch bereitgestellt.MyProjectName-Bridging-Header.hwird jedoch halbautomatisch bereitgestellt, dh Sie müssen sicherstellen, dass es vorhanden ist. Sind Sie sicher, dass SieMyProjectName-Bridging-Header.hin Ihrem Projektnavigator sehen können? Wenn nicht, erstellen Sie eine Datei mit diesem Namen und fügen Sie sie Ihrem Projekt hinzu. Überprüfen Sie dann erneut, ob der Pfad in den Build-Einstellungen korrekt ist (er sollte Ihr Projektverzeichnis enthalten :MyProjectName/MyProjectName-Bridging-Header.h.