こんにちは!株式会社オルトプラスでクライアントエンジニアをしているHyuです。今回は、Unityを用いたアプリの対応OSバージョンのアップデートに取り組み、その過程で得た知見を共有したいと思います。
調査の結果、いくつかの変更点に注意が必要であることが分かりましたが、適切に対処することで問題なくアプリのアップデートを完了し、リリースすることができました。同様の対応を行う際の一助となれば幸いです。
App Store ConnectやGoogle Play Consoleにて「Xcodeのバージョンを更新するには対応OSをアップデートする必要がある」や「最新のリリースから 1 年以内の API レベルを対象としていない場合は、アプリを更新できなくなります。」という通知がきて対応OSレベルを上げないとアプリのアップデートができない状態になってしまうためアップデートについて調査しました。
フォーマット:
項目 | 更新前 | 更新後 |
---|---|---|
Unity バージョン | 2020.3.48f1 | 2023.2.20f1 |
Android Target SDK | 33 | 34 |
iOS/tvOS MinimumOSVersion | 11.0 | 13.0 |
ライブラリが入っている場合各種ライブラリもAPIレベルに対応したものに合わせる必要があります。また、クロスプラットフォームプラグインを使用していると、Android関連のエラーが出る場合があります。そのため、UnityのバージョンをAPIレベルに対応したものに合わせ、JDKやNDK、gradleの設定を見直す必要があります。
様々な方法はありますが、今回はスクリプトを作成して実行する方法を紹介します。
using UnityEngine;
using UnityEditor;
using System.IO;
public class LibraryChecker : MonoBehaviour
{
[MenuItem("Tools/List All DLLs")]
public static void ListAllDlls()
{
string[] dllPaths = Directory.GetFiles(Application.dataPath, "*.dll", SearchOption.AllDirectories);
foreach (var dll in dllPaths)
{
Debug.Log($"Found DLL: {dll}");
}
}
}
Unityエディタのメニューバーに Tools > List All DLLs
が表示されるのでクリックすると、コンソールにプロジェクト内のすべてのDLLがリスト表示されます。