勉強不足で至らんブログ

勉強不足ですが色々と書いていきます。

Unity2019.3からのXcodeプロジェクトでSwiftが使えるのか検証

obj-cを書きたくない

シンプルにそれだけ

僕はSwiftが使いたい

blogs.unity3d.com

そして来たるUnity2019.3…Unityのコア部分が.frameworkになるらしい

まぁそれだけなら気にしないしBuildのPostProcessを変えるくらいだろうと思ったら

下のコメントに

However for iOS, we won’t be supporting SWIFT for now, our focus in on Objective C.

Swiftのサポートは考えてない…?

え、まじで

まずは動かす環境を整える

2019.3.5f1を検証に選びリポジトリは以前

Unityのネイティブプラグイン(macOS/iOS/tvOS)のソースコードを共通化する - 勉強不足で至らんブログ

で使用した

GitHub - MizoTake/ApplePlatformNativePluginSample

を使うことに

検証のためにリポジトリにあるPostProcessは全部コメントアウトした

動かそう

UnityビルドしてXcodeでビルドするが案の定エラー

エラーが出てきて解決していくが

"Umbrella header not found" というのだけ解決ができなくて悩んだ

ただネイティブの記事で

qiita.com

というのがありネイティブで可能ならUnityもできるはずと思い調べる

https://forum.unity.com/threads/build-ios-umbrella-error.838879/

Which states that it is a regression bug and is not happening in 2020.1 beta.

まじかよ

ということで2020.1をインストール

f:id:MakeTake:20200318194947p:plain

動くやんけ

しかもSwiftのバージョン勝手に設定してくれる様になってるやんけ

最高かよ

まとめ

2020ベータなら動いたので2019.3でSwiftのネイティブプラグインを使うのは避けた方が良さそう

これからもSwiftネイティブプラグインは使用可能!