質問: ### 前提・実現したいこと UnityでiOS のネイティブプラグインを Swiftでコーディング。 ### 発生している問題・エラーメッセージ XCodeでビルドエラー 自動生成される"<プロジェクト名>-Swift.h"で作成していないメソッドでエラーになっています。 太字の箇所で ・C++ requires a type specifier for all declarations ・Expected ')' ・Expected external declaration ・Expected ';' after top level declarator insert ';' のエラーがでています。 自動生成されるメソッドなので、修正方法がわかりません。 コーディングミスでしょうか。 ご教示いただけると助かります。 ### 該当のソースコード --ProductName-Swift.h内エラー箇所-- SWIFT_CLASS("_TtC11UnityIphone10GetIosSsid") @interface GetIosSsid : NSObject + (void)swiftMethod; **- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;** @end ### 試したこと ';'を文末に追加してみたが、エラー内容は変わらずです。 別のObjective-CプロジェクトでSwiftを呼ぶと問題なく動きました。 ### 補足情報(FW/ツールのバージョンなど) Unity5.5.1p3,XCode9,Swift4
回答: ・swiftのクラスの呼び出しをObjective-C++(.mm)からObjective-C(.m)に変更 ・<プロジェクト名>-Swift.h not found 対応の為にPrefix.pchに<プロジェクト名>-Swift.hをimportしていた箇所を削除 ・importは#import "<プロジェクト名>-Swift.h"(パッケージの記述にしない)に変更 ・Build SettingのLinkingのRunpath Search Pathsの箇所に @executable_path/Frameworks を追加 以上で、ビルドできました。