8
If I want iOS App App1 to launch App2 on a device, then does the CFBundleURLName need to match the CFBundleIdentifier in the CFBundleURLTypes in the Info.plist?
For example, if I have in 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>
In the above case, App2 can launch "fooscheme:" urls in App1. However, if I change App1's Info.plist to include
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>fooscheme</string>
</array>
<key>CFBundleURLName</key>
<string>com.foo.xyz</string>
</dict>
</array>
i.e., a CFBundleURLName != CFBundleIdentifier, then App2 can no longer launch "fooscheme:" urls in App1.
Any ideas why?
I don't see any Apple documentation that CFBundleIdentifier must match CFBundleURLName, but this seems to be the case in practice. Or am I missing something?
Thanks!