#背景
iOS9にバージョンアップしてしばらくたち、自分が作ったゲームアプリで遊んでいた。
このゲーム内ではアプリのシェア機能として、Facebook/Twitter/LINEの連携をしているのだけれど、Facebook/Twitterは投稿ができるのに、LINEの連携がどうしてもできない。
おかしいと思い、対処法をメモしておく。
参考:自作アプリ【くまのがっこう】ジャッキーのほしあつめ
(ちなみにフレームワークはcocos2d-xを利用している)
#LINE連携できなくなった理由
LINEの連携にはURLスキーマを利用しています。
調べてみたところ、iOS9からURLスキーマの扱いに変更があった模様。
iOS9からURLスキームの使用に関する変更があり、
従来のopenURLを実行するだけではカスタムURLスキームの遷移が使用できなくなりました。
※Apple公式のURLスキーム(ブラウザを開くなど)は正常に動作します。
参考:iOS9でカスタムURLスキームの遷移に失敗するときの注意点
実際にiOS9で実行をすると、以下のようなログが表示される。
iOS[351:37229] -canOpenURL: failed for URL: "line://msg/text/xxxx" - error: "This app is not allowed to query for scheme line"
LINE連携の実装は以前に書いた以下の記事に委ねます。
参考:iOSアプリにソーシャル機能を組み込む【実践編】
シェア機能の重要性や効果についてはこんな記事もどうぞ。
参考:「ねこあつめ」がなぜ人気アプリになったのか? 分析その5:ソーシャル機能を分析しよう!編
#対処方法
利用するURLスキームの内容を明らかにすることで、今まで通り利用することができます。
具体的にはinfo.plist
にLSApplicationQueriesSchemes
のkey
を追加し、カスタムURLスキームを入力します。
今回の場合は、URLスキームにline
を入力します。
これでシェア機能としてline連携ができるようになりました。
同じことで困っている方がいらっしゃれば、お役に立てれば嬉しいです。