File.SetLastWriteTime(outPath, lastModified.Value);
↑の関数でUnityでファイルのタイムスタンプを更新しようとしたらInvalidParameterって例外が出る端末があった。
再現性を調べたわけではないけど再現した端末はすべてAndroid4.2~4だった。
調べていくうちにXamarinでも似たようなエラー報告があることがわかって、おそらくXamarinのバグだろうって思ったのでAndroidのみAndroidJavaClassを使用して解決した。
#if !UNITY_EDITOR && UNITY_ANDROID using(var file = new AndroidJavaObject("java.io.File", outPath)){ var lm = lastModified.Value; var result = file.Call<bool>("setLastModified", lm.ToFileTimeUtc()); Debug.LogFormat("{0}", result); } #else File.SetLastWriteTime(outPath, lastModified.Value); #endif
いまのところこれで問題は起きてない。