iOSアプリ開発中にデバイスをスリープさせない

Filed under Xcode
Tagged as , ,

アプリ開発中には、「コードを書く、実機動作確認」という作業の繰り返しです。
でも、コードを書いている間にデバイスがスリープすると、イラッとしてしまいます。。
かと言って、使用しているデバイスが普段使いのデバイスだと、スリープさせない設定にするのもためらわれてしまう。。
これまではいちいちアンロックしていたのですが、ちょっと立ち止まって、どうしたものかと考えてみました。
本当はデバイス側に「USB接続しているときにはスリープしない」という設定があればよかったのですが、見つけられなかったのです(あるのかなー)。

で、思いついたのは「開発中のアプリにスリープさせないコードを実装してしまう」という方法!
シンプルだけど有効だと思って、早速自分のアプリに組み込みました。

SwiftでDEBUGフラグを設定

Swiftを使ったプロジェクトではデバッグビルド時のDEBUGフラグは標準で未設定のようで、自分で設定する必要があるようです。
XcodeでTARGET設定の中にある「Other Swift Flags」に「-D DEBUG」と設定しておきます。
Xcode TARGET設定, "Other Swift Flags", "-D DEBUG"

SwiftでDEBUGフラグを判定

あとは、プログラムの実装側で、下記のようにコンパイル時のフラグ分岐でスリープと解除のソースを書いておくと大丈夫でした。

func applicationDidBecomeActive(application: UIApplication) {
	#if DEBUG
		println("avoid sleep for debug")
		application.idleTimerDisabled	= true;
	#endif
}
 
func applicationDidEnterBackground(application: UIApplication) {
	#if DEBUG
		println("avoid sleep for debug - exit")
		application.idleTimerDisabled	= false;
	#endif
}

AD

SONY カナル型ワイヤレスイヤホン Bluetooth対応 リモコン・マイク付 ブラック SBH20/B

SONY カナル型ワイヤレスイヤホン Bluetooth対応 リモコン・マイク付 ブラック SBH20/B

中古価格: ¥ 3,680 より

Amazon価格:¥ 4,850

カテゴリ:エレクトロニクス

発売日:2013-07-19




スティーブズ(1) (ビッグコミックス)

スティーブズ(1) (ビッグコミックス)

カテゴリ:Kindle版

発売日:2014-11-28


Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)