UnityからXcodeのSwiftのメソッドをコールする

スポンサーリンク

UnityでiOS用アプリを作る際のMEMOです。UnityでiOS用にビルドするとXcode用のプロジェクトを書き出しますが、そこでSwiftで書いたコードを呼び出せたら、iOS標準の機能をUnityから使えるようになる可能性が出てきますね。

Swiftで書いた「設定」を開くメソッドをUnityのC#からコールするサンプルプロジェクトを以下においておきました。Xcode13, Unity2020.3.23f1で動作確認済みです。(iOS Simulator向けに書き出したXcodeプロジェクトも含んでおきました)

UnityプロジェクトからSwiftのメソッドを呼ぶテスト. Contribute to mushikago/CallSwiftFromUnity development by creating an account on GitHub.

Unityプロジェクトについて少しだけMEMOを残しておきます。

Assets/Plugins/iOS 内に「SwiftPlugin.swift」「SwiftPlugin.mm」を入れます。それぞれのコードは以下の通り

SwiftPlugin.swift

SwiftPlugin.mm

「CallSwiftTest.cs」で CallSwift() を定義して、ボタンなどからコールします。

CallSwiftTest.cs

Swiftのコードで書いた内容がどこまで使えるかといった実験はしていませんが、上記例の「設定を開く」こと自体はできて、Appleの審査にも通ったので動くは動くと思います。