デフォルトアプリとして設定する
デフォルトブラウザとかデフォルトメーラーとかのデフォルトアプリとして設定する方法。前述の「デフォルトアプリとして認識してもらう方法」も参照してください(この設定も必要なので)。
これは実のところ関数を呼び出すだけです。が、Info.plist の方にちゃんと CFBundleURLTypes の記述がなければなりません。
OSStatus LSSetDefaultHandlerForURLScheme( CFStringRef inURLScheme, // scheme 文字列 CFStringRef inHandlerBundleID); // bundle identifier
例えば、デフォルトブラウザならこう。
OSStatus ret = LSSetDefaultHandlerForURLScheme( CFSTR("http"), CFSTR("jp.itok.lab.browser"));
この仕組みはなにも既存の scheme に限らないので、全く独自の scheme を用意して専用のアプリを動かすこともできるんですよね。