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ベース設定システムへの移行に役立ちます。

試してみる — Plist ↔ JSON Converter

フルツールを開く