forked from takezoh/UniRapidJson
-
Notifications
You must be signed in to change notification settings - Fork 0
Home
KKoga edited this page Apr 5, 2019
·
1 revision
Unity2018.3.3あたりから.plugin拡張子を持つフォルダの複製に失敗するようになったため、static library化をios/として追加してみた。
本家では解説が足りていないので概要を以下に示す。
- buildPlatform/下に移動する
- Windows環境でWindows/に移動してBuild.batを実行する。成功するとプロジェクトルートのdist/unity/にWindows.x64/とWindows.x86/のrapidjson.dllを確認できる。
- OSX環境でmacosx/に移動してmakeを実行する。成功するとプロジェクトルートのdist/unity/にOSX.Any/が作られ、rapidjson.bundleを確認できる。
- android/に移動してmakeを実行する。NDK_BUILDとANDROID_HOMEが正しく設定され、ビルドツールバージョンが24.0.0の場合にdist/unity/にAndroid.Any/rapidjson-android-release.aarが生成される。内容は32bitのarm用/x86用となる。一応64bitでも動作するらしい。
- unity-internal-src/に移動してmakeを実行する。 dist/unity/Internal.Any/が作られ、rapidjson.pluginを確認できる。これは実質的にunity-support.cppとヘッダファイルを含んでいるソースコードパッケージである。Unity2018.3.3からうまく行かなくなったので治るまではスタティックライブラリを使うことになる。
- **(新規)**ios/に移動してmakeを実行する。dist/unity/Internal.Any/が作られ、librapidjson.aを確認できる。こちらは実機とシミュレータ用のオブジェクトファイルを含んだfatアーカイブとなっている。ただし、ENABLE_BITCODEはデフォルトでONであるため、必要であればmakeの記述を変えて調整する必要がある。ENABLE_BITCODEをONとOFFにしたものを一つのアーカイブに入れようとするとアーキテクチャは同じということでエラーになってしまう。