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ページ以上使って説明している。
関連記事
-
-
iOS14からおんぷ先生と接続できない
下記の問い合わせがあり、調べたところ、iOS14からおんぷちゃんとおんぷ先生がBluetoothで
-
-
iPad用ペン AluPen を買ってみた。
年末に注文したAluPenをようやく入手。品薄で1ヶ月かかってしまった。Amazonで2404円。紹
-
-
iPhone アプリアイコン設定
AppStore でアプリを売る一連の流れを知るために作っているアプリが大体できてきたので、ついにア
-
-
Apple iPod touch 第4世代 8GB MC540J/A 注文
Retinaディスプレイとジャイロセンサーを使ってみたかったので、数時間迷った末 Appleのオンラ
-
-
おんぷちゃん 1.9.0 MIDI対応
おんぷちゃん 1.9.0 で MIDI キーボードに対応しました。(まだ App Store にてレ
-
-
iTunes Connect の支払先をCitibankに変更
iTunes Connectからの送金を三井住友銀行の口座で受け取っていたが、毎月4000円の手数料
-
-
EverLearn 1.7.5 を公開しました
英単語学習アプリ EverLearn 1.7.5 を公開しました。変更点エビングハウスの忘却曲線を参
-
-
iPhone OS 3.0 インストール
OSのメジャーアップデートの機会は1年に一度だろう、ということで貴重な機会なのとbeta 5になりさ
-
-
これは便利 iPhoneプログラミングUIKit詳解リファレンス
Amazonでの評判も良いし、書店で立ち読みしていくつか有用な情報を見つけたので、iPhoneプログ
-
-
Parse から Heroku, AWSへの移行ガイド
2017年1月28日にParseのサービスが終了するという衝撃的なニュース(Moving On)