From ba3f6abb4c6000ff588314af63c4425736a0390e Mon Sep 17 00:00:00 2001 From: Stossy11 <69031796+stossy11@users.noreply.github.com> Date: Tue, 3 Dec 2024 21:18:05 +1100 Subject: [PATCH] Fix AppDataManager --- .../Configuration/AppDataManager.cs | 28 +++++++++++++++++-- src/Ryujinx.Common/ReleaseInformation.cs | 7 ++++- 2 files changed, 32 insertions(+), 3 deletions(-) diff --git a/src/Ryujinx.Common/Configuration/AppDataManager.cs b/src/Ryujinx.Common/Configuration/AppDataManager.cs index ca8e389ba..d0d811923 100644 --- a/src/Ryujinx.Common/Configuration/AppDataManager.cs +++ b/src/Ryujinx.Common/Configuration/AppDataManager.cs @@ -49,7 +49,16 @@ namespace Ryujinx.Common.Configuration public static void Initialize(string baseDirPath) { - string appDataPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); + string appDataPath; + if (OperatingSystem.IsIOS()) + { + appDataPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); + } + else + { + appDataPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); + } + if (appDataPath.Length == 0) { @@ -137,7 +146,22 @@ namespace Ryujinx.Common.Configuration } else { - if (OperatingSystem.IsMacOS()) + if (OperatingSystem.IsIOS()) + { + logDir = Path.Combine(BaseDirPath, "Logs"); + + try + { + Directory.CreateDirectory(logDir); + } + catch + { + Logger.Warning?.Print(LogClass.Application, $"Logging directory could not be created '{logDir}'"); + + return null; + } + } + else if (OperatingSystem.IsMacOS()) { // NOTE: Should evaluate to "~/Library/Logs/Ryujinx/". logDir = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), "Library", "Logs", DefaultBaseDir); diff --git a/src/Ryujinx.Common/ReleaseInformation.cs b/src/Ryujinx.Common/ReleaseInformation.cs index 011d9848a..335f52ffa 100644 --- a/src/Ryujinx.Common/ReleaseInformation.cs +++ b/src/Ryujinx.Common/ReleaseInformation.cs @@ -35,7 +35,12 @@ namespace Ryujinx.Common public static bool IsReleaseBuild => IsValid && ReleaseChannelName.Equals(ReleaseChannel); - public static string Version => IsValid ? BuildVersion : Assembly.GetEntryAssembly()!.GetCustomAttribute()?.InformationalVersion; + public static string Version => + IsValid + ? BuildVersion + : Assembly.GetEntryAssembly()? + .GetCustomAttribute()? + .InformationalVersion ?? "iOS"; public static string GetChangelogUrl(Version currentVersion, Version newVersion) => IsCanaryBuild