1. tetr4lab

    No comment

    tetr4lab
Changes in body
Source | HTML | Preview
@@ -1,48 +1,50 @@
# 前提
- unity 2018.4.7f1
- Android
# できること
- 一度、KeystoreとAliasのパスワードを設定してビルドすると、以降、エディター起動時に自動的に設定されるようになります。
# やりかた
- 以下のコードを、適当な`Assets/~/Editor/~`へ入れてください。
```cs:SaveKeystore.cs
using UnityEditor;
using UnityEditor.Callbacks;
public class SaveKeystore {
private static string keystorePrefsName => PlayerSettings.Android.keystoreName;
private static string keyaliasPrefsName => $"{PlayerSettings.Android.keystoreName}/{PlayerSettings.Android.keyaliasName}";
[InitializeOnLoadMethod]
private static void OnLoad () {
if (string.IsNullOrEmpty (PlayerSettings.Android.keystorePass) && !string.IsNullOrEmpty (PlayerSettings.Android.keystoreName)) {
PlayerSettings.Android.keystorePass = EditorPrefs.GetString (keystorePrefsName);
}
if (string.IsNullOrEmpty (PlayerSettings.Android.keyaliasPass)) {
PlayerSettings.Android.keyaliasPass = EditorPrefs.GetString (keyaliasPrefsName);
}
}
[PostProcessBuild]
private static void OnBuilded (BuildTarget target, string path) {
if (target == BuildTarget.Android) {
if (!string.IsNullOrEmpty (PlayerSettings.Android.keystoreName) && !string.IsNullOrEmpty (PlayerSettings.Android.keystorePass)) {
EditorPrefs.SetString (keystorePrefsName, PlayerSettings.Android.keystorePass);
}
if (!string.IsNullOrEmpty (PlayerSettings.Android.keyaliasName) && !string.IsNullOrEmpty (PlayerSettings.Android.keyaliasPass)) {
EditorPrefs.SetString (keyaliasPrefsName, PlayerSettings.Android.keyaliasPass);
}
}
}
}
```
# 留意事項
- KeystoreおよびAliasのパスワードが、**平文**でエディターの設定内([EditorPrefs](https://docs.unity3d.com/ja/current/ScriptReference/EditorPrefs.html))に保存されます。
- すなわち、他のエディタ拡張からでも取得可能です。
+ - 以下は、PlayerPrefsの記事ですが、EditorPrefsへ応用できると思います。
+ - [簡易なセーブデータの暗号化 (PlayerPrefs)](https://qiita.com/tetr4lab/items/e57bb6486dfeb96b93f0)
- Keystoreファイルの絶対パスに依存します。プロジェクトフォルダを移動するとオートロードできなくなります。