iOS9からGKSession over Bluetoothが無効に
ユーザの方からおんぷ先生アプリが接続できないという報告があり調べていたところ、iOS9からGameKitのGKSessionがBluetoothでは利用できなくなっていることがわかった。
Bluetooth over GKSession or MultipeerConnectivi… | Apple Developer Forums
もともと iOS7から deprecated にはなっていたのだが、iOS9からはGKSessionがサポートしていたBluetooth上で使えなくなっているとのこと。
しかし同じLAN内だとWi-Fiではつながってしまうので、発見が遅れてしまった。
かわりに MultipeerConnectivity を使うことが推奨されているのだが、MultipeerConnectivity FrameworkはiOS7からのサポートなので、iOS5までしかアップデートできないiPad1はサポート外となってしまう。
アプリの設定で GKSessionとMultipeerConnectivityを切り替えて両方サポートすることも考えたが、iPad1では今のアプリを使い続けることもできるし、もし要望があればGKSession版を別途公開もできるということで MultipeerConnectivity に切り替えることにした。
当初、MCBrowserViewController や MCAdvertiserAssistant を使って実装していたが、UIがローカライズされていなかったり、問題が起きたときに調査しづらいので、結局 MCNearbyServiceBrowser や MCNearbyServiceAdvertiser などの少しローレベルなクラスを使って実装した。
[iOS 7] P2P 通信を手軽に実現する Multipeer Connectivity Framework を使ってみる | Developers.IO → これはホストとクライアントの区別なく書かれているので、わかりづらいことが判明。
第 3 回・iOSでMultipeerConnectivityを実装してみよう! | ギャップロ → のほうがわかりやすい。
Nearby Networking with Multipeer Connectivity – WWDC 2013 – Videos – Apple Developer → 30分あたりから、MCNearbyServiceAdvertiser や MCNearbyServiceBrowserを使う説明が始まる。
また、上を目指すプログラマーのためのiPhoneアプリ開発テクニック iOS 7編は MultipeerConnectivity を20ページ以上使って説明している。
関連記事
-
-
iPadアプリ おんぷちゃん が雑誌に紹介されました
いろいろあって、iPhone/iPad アプリのおんぷちゃん がムジカノーヴァ2011年2月号で紹介
-
-
iPhoneアプリケーションプログラミング-オンライン版
先日紹介した、新居雅行氏のiPhoneアプリケーションプログラミングだが、オンライン版が存在する。
-
-
[iOS SDK] EverLearn 3Dタッチ対応
iPhone 7 Plus を購入したので、まずは EverLearn から、3Dタッチの対応を行い
-
-
[iPhone開発関連本] iPhoneアプリ成功の法則
和田純平 JYProduct 深津貴之 fladdict @iphone_dev_jp, 海外プレス
-
-
[iPhone SDK] sqlite 学習中。FMDB を知る。
SQLite入門 第2版西沢 直木 翔泳社 2009-05-19売り上げランキング : 17582
-
-
[iPhone アプリマーケティング] Yappler.com に登録してみた
たまたま検索していて発見した、Yappler.com に試しに登録してみた。 iPhoneアプリ開発
-
-
iPhoneアプリ おんぷちゃん開発日記 和音表示
自分の娘のために作った五線譜学習アプリ「おんぷちゃん」の開発を細々と続けている。 iPadのグランド
-
-
[iOS SDK] 物書堂の辞書アプリと連携してみた
物書堂は使い勝手のよい辞書アプリをたくさんリリースしている会社だ。 今作っている英単語学習アプリで
-
-
Apple Special Event 2010
2010年は、1月に初代 iPad が発表され、6月にWWDCでiPhone4が発表されるという、
-
-
詳解 Objective-C 2.0 改訂版 2010年12月17日発売
まだ書店で遭遇できてないけれども荻原さんの詳解 Objective-C 2.0の改訂版が発売されてい