Objective-c の Swift クラスを (他の多くのクラスと同様に) 使用しようとしていますが、次のエラーが発生します。
未定義のシンボル: OBJC_CLASS $__TtC9FileCloud18BrowserCoordinator
問題は、この特定のクラスが Swift プロトコルに準拠していることですObservableObject
。
@available(iOS 13.0, *)
@objcMembers
class BrowserCoordinator: NSObject, ObservableObject
{
//...
}
MyProject-Swift.h
生成されたヘッダー ファイルに正しく表示されます。
SWIFT_CLASS("_TtC9FileCloud18BrowserCoordinator") SWIFT_AVAILABILITY(ios,introduced=13.0)
@interface BrowserCoordinator : NSObject
//...
@end
Objective-C から使用すると、適切にビルドされます。
BrowserCoordinator* browser = BrowserCoordinator.new;
しかし、リンカーは失敗します。それはAppleのバグでしょうか?