デバイスで iOS アプリ App1 に App2 を起動させたい場合、CFBundleURLName は Info.plist の CFBundleURLTypes の CFBundleIdentifier と一致する必要がありますか?
たとえば、App1にある場合
<key>CFBundleIdentifier</key>
<string>com.foo.App1</string>
...
<key>CFBundleURLTypes</key>
<array>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>fooscheme</string>
</array>
<key>CFBundleURLName</key>
<string>com.foo.App1</string>
</dict>
</array>
上記の場合、App2 は App1 で「fooscheme:」URL を起動できます。ただし、App1 の Info.plist を変更して含めると
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>fooscheme</string>
</array>
<key>CFBundleURLName</key>
<string>com.foo.xyz</string>
</dict>
</array>
つまり、CFBundleURLName != CFBundleIdentifier の場合、App2 は App1 で「fooscheme:」URL を起動できなくなります。
理由はありますか?
CFBundleIdentifier が CFBundleURLName と一致しなければならないという Apple のドキュメントは見当たりませんが、実際にはそうであるようです。または、何か不足していますか?
ありがとう!