URLスキームのPlist設定をJSONに変換する
Info.plistのCFBundleURLTypesセクションをJSONに変換します。plist形式でのURLスキーム登録の仕組みを理解します。
Info.plist
詳細な説明
Info.plistのURLスキーム
iOSとmacOSのアプリは、Info.plistのCFBundleURLTypes配列を通じてカスタムURLスキームを登録します。各エントリにはCFBundleURLSchemes配列とオプションのCFBundleURLNameが含まれます。
Plist構造
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>com.example.myapp</string>
<key>CFBundleURLSchemes</key>
<array>
<string>myapp</string>
<string>myapp-dev</string>
</array>
</dict>
<dict>
<key>CFBundleURLName</key>
<string>OAuth Callback</string>
<key>CFBundleURLSchemes</key>
<array>
<string>myapp-oauth</string>
</array>
</dict>
</array>
JSON出力
{
"CFBundleURLTypes": [
{
"CFBundleURLName": "com.example.myapp",
"CFBundleURLSchemes": ["myapp", "myapp-dev"]
},
{
"CFBundleURLName": "OAuth Callback",
"CFBundleURLSchemes": ["myapp-oauth"]
}
]
}
ネストされた構造の処理
この例は、辞書の配列(Info.plistで非常に一般的なパターン)をコンバーターがどのように処理するかを示しています。<array>内の各<dict>はJSONオブジェクトになり、CFBundleURLSchemesのような内部配列はネストされたJSON配列になります。ツリービューはネストレベルの視覚化に特に役立ちます。
ディープリンクとUniversal Links
最新のアプリはURLスキームとUniversal Links(Associated DomainsのEntitlementのapplinks:経由)を組み合わせることが多いです。Info.plistのURLスキームはレガシーなディープリンクパスを処理し、Universal Linksは別途設定されます。
ユースケース
iOSアプリが登録しているURLスキームのドキュメント化と監査、ディープリンク統合のためのWeb チームとの設定共有、またはスキーム登録のJSONベース設定システムへの移行に役立ちます。