Unity で Newtonsoft の Json.NET の dll を直接取り込んで使っていると、Windowsアプリ、Androidなどで問題がなくても、iOSビルドして実行すると NotSupportedException が発生してしまいます。解決する際に参考にした情報を基に、以下にまとめてあります。
対応方法
本家を folk して、PackageManager 経由で Unity に取り込めるように対応してくれているリポジトリがあります。そのリポジトリに向けた設定を Unity に入れることで、iOSビルドでもエラーが出ることなく使用できるようになります。
設定方法
-
PackageManager でのインストールが 2018.1 からなので、それ以上のバージョンの Unity でないと設定できません。
-
<project>/Packages/manifest.json
に以下設定を足してください。バージョン番号はリポジトリのタグを参考に最新版を設定しておくとよいかと思います。
{
"scopedRegistries": [
{
"name": "Packages from jillejr",
"url": "https://npm.cloudsmith.io/jillejr/newtonsoft-json-for-unity/",
"scopes": ["jillejr"]
}
],
"dependencies": {
"jillejr.newtonsoft.json-for-unity": "12.0.301",
}
}
参考
-
Unity form
- エラーが出たときにこのリポジトリを見るけることができたところ
-
jilleJr/Newtonsoft.Json-for-Unity
- 設定方法を含めて、このリポジトリの一部抜粋