プログラミング

【Unity】シーン管理

概要

汎用的に使われやすいシーン管理に関してスクリプトをまとめました。

主な機能としては「シーン切替」「切替中のコールバック」「切り替え演出」が実装されています。

続きを読む

【Unity】WindowsEditorでリダイレクトを取得できるWebViewを使う

UnityでフリーのWebViewを探すと対応プラットフォームにWindowsがないことが多いです。

例えば、greeのunity-webviewではios,Android,macのみがサポートされています。

リダイレクトの取得が必要なWebViewをWindowsのEditor上で実行したいときにおすすめなのが、「WebViewHook」です。

例えばAuth0認証でトークンがリダイレクトされるようなときは、WebViewHookのLoadErrorにコールバックを設定してURLを受け取るという動作が出来ます。

【Unity】吹き出しUI

概要

テキストサイズに合わせて自動でサイズ調整をする吹き出しUIです。

LayoutGroupの設定で一時期ハマっていたのでまとめました。

続きを読む

【iOS】WebKitとキーチェーン

iOS は、サード パーティ製アプリが証明書が保存されているシステムキーチェーンにアクセスするのを防止します (Apple アプリと Safari Webview コントローラーだけがシステムキーチェーンにアクセスできます)。

Edge は WebKit フレームワークを使用して Web サイトをレンダリングします。Edge はシステムキーチェーンにアクセスできず、証明書の選択肢をユーザーに提示できません。 これは、残念ながら、Apple のアーキテクチャによる設計です。

https://docs.microsoft.com/ja-jp/microsoft-365/enterprise/microsoft-365-client-support-certificate-based-authentication?view=o365-worldwide

Microsoft公式の内容から解釈するとAppleアプリとSafariWebview コントローラーのみがアクセス可能で、WebKitのブラウザはSafariではないためキーチェーンへのアクセスが出来ないようです。

SafariWebview コントローラーの参照先が「SFSafariViewController」

となっていますが、「ASWebAuthenticationSession」も互換性がありキーチェーンにアクセスできます。

WebViewを使用して複数の証明書から選択をさせたい時は、「SFSafariViewController」「ASWebAuthenticationSession」を使用するとよさそうです。