LoginSignup
3
3

More than 5 years have passed since last update.

Objective-C の中で Swift のクラスを呼び出す時、.mm ファイルではなく .m ファイルの中でないといけない

Posted at

参考:
- SwiftとObjective-Cの相互利用する際の注意
- import swift class in objective-c, -Swift.h file not found

現象

  • Swift <- Objective-C とクラスを使いたい場合は
    (適当な名前)-Bridging-Header.h
  • Objective-C <- Swift とクラスを使いたい場合は
    (初期設定プロジェクト名)-Swift.h

を使えばいいことはわかってた(どちらも Build Setting で編集可)

が、

#import "Hoge-Swift.h" // なんか循環してるみたいなエラーがでる

を設定してもなんかやたらエラーがでて全く使用できない
(´・ω・`)意味わからんなあ・・・

原因

.mm の中で呼んでたからでした

hoge.mm
#import "Hoge-Swift.h" // エラーいっぱい
hoge.m
#import "Hoge-Swift.h" // エラーでない!



終わりです
.m 以外に書いたらだめということですね


なんでかはしりません
UK(うんこ) ですね

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3