4.21以降、iOSアプリ制作においてWindowsからMacにリモートビルドを実行した際に、Mac側のキーチェーンに登録されているログインキーチェーンがリストから解除されてしまいますが、これは仕様かどうかご存知でしょうか?
詳細としては、
エンジンのソースコード IOSToolChain.cs内に、4.21からSignProject.shを生成するために追加された記述の中に、以下のような部分があります。
Writer.WriteLine(“security list-keychains -s “{0}””, TempKeychain);
この記述ではMac側のユーザー毎に登録されているキーチェーン(ログインなど)の登録を上書きしてしまうように思われます。
既存のキーチェーンを残しつつ TempKeychainを追加するのであれば、生成されるシェルスクリプトは以下のようにする必要があるのではないかと思いました。
keychains=$(security list-keychains -d user)
keychainNames=();
for keychain in $keychains
do
basename=$(basename “$keychain”)
keychainName=${basename::${#basename}-4}
keychainNames+=("$keychainName")
done
echo “User keychains on this machine: ${keychainNames[@]}”;
security -v list-keychains -s “${keychainNames[@]}” “/Users/xxx/UE4/Builds/…/Intermediate/Build/IOS/iOSSample/Development/TempKeychain.keychain”
この件につきましてご存知の方がいらっしゃいましたらご教示いただけませんでしょうか?