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

  • 0
    Like
  • 0
    Comment

    参考:
    - 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(うんこ) ですね