2024.11.14
いまさらNode.jsを知ろう~環境構築も~
2015.09.07
プログラミングiBeaconアプリを作るときにやっておくべき3つの事
GTラボ坂東です。
iBeaconで何々するアプリって、基本的に常駐したり受信できる状態にないといけないと思うんです。
Androidだとアプリをサービスで動かせば良いんですけどiOSはそれが無え。
なので、以下の3つの実装をいれとくと良いでしょう。
1.Bluetooth Off にさせない
2.アプリを終了させない
3.端末再起動時にアプリを起動する
やり方。
1.Bluetooth Off にさせない
「Offにさせない」という実装は出来ないのでユーザーに訴えかけます。
CBCentralManagerでBLEの状態を監視して、Offになったタイミングで警告を出します。
実装はここを参考に。
http://stackoverflow.com/questions/25932366/cbmanager-state-always-unknown
抜粋したらこんな感じです。
- (void)viewDidLoad { NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:NO], CBCentralManagerOptionShowPowerAlertKey, nil]; CBCentralManager *centralManager = [[CBCentralManager alloc] initWithDelegate:self queue:nil options:options]; [centralManager scanForPeripheralsWithServices:nil options:options]; } - (void)centralManagerDidUpdateState:(CBCentralManager *)central { if (central.state == CBCentralManagerStatePoweredOff) { // ここでダイアログなりプッシュなりで警告出す // 『やめて。BluetoothOffにするとビーコンが受信できなくなる』 } }
2.アプリを終了させない
「終了させない」という実装は出来ないのでユーザーに訴えかけます。
アプリがホームボタン2回押しのアレで終了したタイミングで警告を出します。
- (void)viewDidLoad { [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(terminate) name:UIApplicationWillTerminateNotification } - (void)terminate { // ローカルプッシュで警告出す // 『ばか。アプリを終了するとビーコンが受信できなくなるの』 }
3.端末再起動時の自動起動
やるべきなんですけど、やり方わかりません。
Yahooの「僕の来た道」なんか勝手に起動してるんですが、あれってどうやってるんでしょうね。
どなたか教えてください。
おわり。
【記事への感想募集中!】
記事への感想・ご意見がありましたら、ぜひフォームからご投稿ください!【テクノデジタルではエンジニア/デザイナーを積極採用中です!】
下記項目に1つでも当てはまる方は是非、詳細ページへ!Qangaroo(カンガルー)
【テクノデジタルのインフラサービス】
当社では、多数のサービスの開発実績を活かし、
アプリケーションのパフォーマンスを最大限に引き出すインフラ設計・構築を行います。
AWSなどへのクラウド移行、既存インフラの監視・運用保守も承りますので、ぜひご相談ください。
詳細は下記ページをご覧ください。
最近の記事
タグ検索