info.plistにURLスキームをあらかじめ登録しておくことにより、canOpenURLを有効にできる。
1. LSApplicationQueriesSchemes キーをArray形式で追加する。
2. LSApplicationQueriesSchemes キーの下層に、string形式でURLスキームを追加する。
URLスキームは、例えば
hoge://?data=のような形式である場合は、
hogeをLSApplicationQueriesSchemes キーの下層に登録する。
なお、canOpenURL ではなく、openURLはLSApplicationQueriesSchemesにURLスキームが登録されていなくても実行が可能である。(但し、実行時に「"◯◯"が"hoge"を開こうとしています 開く / キャンセル」というダイアログ画面が表示される)
iOS9.0では実行可能であるが、将来的にcanOpenURLと同様になる可能性も否定できない。
参考記事:
http://nlogic.jp/?p=417