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

0
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 ワイヤレスステレオヘッドセット SBH20/B ブラック

SONY ワイヤレスステレオヘッドセット SBH20/B ブラック

中古価格: ¥ 2,624 より

Amazon価格:¥ 3,150

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

発売日:2013-07-19




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

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

カテゴリ:Kindle版

発売日:2014-11-28


Xcode:とある fatal errorへの対応方法

0
Filed under Xcode, トラブルシューティング
Tagged as ,

さっきまでうまくビルドできていたのになぜかビルドできなくなった!修正したコードを戻してもビルドが失敗する!ということがままあります。
そういう状態のあるパターンの解決方法をメモしておきます。

fatal error – file X has been modified

今回紹介するのは、こんな感じのエラーのとき。
Xcode:とある fatal errorへの対応方法

fatal error: file ‘/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h’ has been modified since the precompiled header ‘/Users/XXXX/Library/Developer/Xcode/DerivedData/TestApp-hogehogefugafugafoobar/Build/Intermediates/PrecompiledHeaders/TestApp-Prefix-hogehogefugafuga/TestApp-Prefix.pch.pch’ was built

ちょっとiOS SDKとかのライブラリヘッダを見ていたりしている時に、ひょんな拍子で上書き保存してしまったりしてしまい、ファイルのタイムスタンプを変更してしまった時になる症状です。
プリコンパイル済みのライブラリのバイナリよりヘッダーが新しいからおかしいよ!というエラーですね。
この場合、プリコンパイル済みのバイナリを削除することで解決します。
具体的な方法ですが、「下記のフォルダを削除し、再ビルド」です。

/Users/XXXX/Library/Developer/Xcode/DerivedData/ModuleCache

XXXXとしているところは自分のユーザー名だったりしますし、将来、場所は変わるかもしれませんが、前述のエラーの中にあるパスを頼りに探すとよいでしょう。

iOS7開発テクニック集 Xcode編

iOS7開発テクニック集 Xcode編

カテゴリ:Kindle版

発売日:2014-04-12



日経ソフトウエア 2015年 01月号 [雑誌]

日経ソフトウエア 2015年 01月号 [雑誌]

カテゴリ:Kindle版

発売日:2014-11-27



iPhone 6 Plusで使っているケース

0
Filed under iPhone
Tagged as

先日走っている時に上着のポケットからiPhone 6 Plusが滑り落ちて、アスファルトに激突しました…。

iPhone 6 Plus ケース

幸いカバーが犠牲になってくれたので、ガラスはほんのちょっとしたヒビのみという最小限の被害で済みました。
とりあえず、薄くて、透明で、持ちやすくなるこのカバー、もう一度買いました!

ELECOM iPhone6 Plus 薄いシェルカバー 極み クリア PM-A14LPVKCR

ELECOM iPhone6 Plus 薄いシェルカバー 極み クリア PM-A14LPVKCR

定価:¥ 2,138

Amazon価格:¥ 1,200

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

発売日:2014-09-19


iPhone 6 Plus本体はサラサラで手が滑るけど、ポリカーボネートだと、手にくっつくので持ちやすくなるのです。
あと、透明だから見た目は損なわず、つるつるなのでちょっと飽きてきたらステッカー・チューンできるのもいいんですよねー。

FrameCamera 再始動!

0
Filed under iPhoneアプリ, Torques
Tagged as ,

あれから5年

もうすぐ5年になるのですが、2010年春、iPhoneもまだ3GSだったころ、Torquesとしてリリースした最初のiPhoneアプリがFrameCameraでした。
FrameCamera 1.x
もともと、ある構想のために作ったアプリなのですが、その夏にバージョンアップしただけで、受託案件が忙しくなり、放置状態となっていました。
今年に入ってから思うところがあり、タイミングを見てフルスクラッチで書き直そうと思ってたところにSwiftという言語が出てきたので、どうせならと、Swiftで書きなおしたのがFrameCamera 2.0です!
FrameCamera-icon-bordered

2.0!

といっても、2.0はまずは前バージョンと同等の機能をつくるのに精一杯で、新機能はほとんどありません。
敢えて挙げるなら、フレーム管理画面を追加した、ということです。
当時は管理画面的なものもなく、最大10枚程度追加できる、という仕組みだったのですが、フレーム管理画面も用意し、今後の機能拡張に備えているのが最大の特徴です。
という2.0をリリースしたのが、10月24日でしたが、諸事情で1週間後に2.1をリリースしました!

2.1!

このバージョンでは撮影後の挙動を調整してすぐにアップし、10月31日にリリースされました!
撮影後、確認無しでカメラロールに保存できる自動保存モードを追加し、また、Dropbox連携を実装して直接Dropboxに保存できるようにしました!
FrameCamera-2.1-export

今後!

このようにすぐ機能を追加できるのはソースコードを見なおしたりしたおかげで、今後もバージョンアップの頻度を上げていきます。
FrameCameraの当初の構想を思い出しつつ、アプリ開発を楽しんでみたいと思います。

思い出話:TwitPic閉鎖

FrameCameraをリリースした2010年当時、Twitterは公式で画像を添付する機能はなく、独自に画像を管理しURLを提供するサービスを使う必要がありました。そこで、FrameCameraではTwitPicというサービスを使っていました。
しかし現在では、Twitterは画像投稿をサポートするようになり、iOSはオフィシャルでTwitterのみならずfacebookへの投稿をサポートしてくれるので、そのあたりは完全にiOSに乗っかる機能としています。
そして、本当に偶然、作りなおし始めた直後にTwitPicのサービス停止がニュースで流れてきたのも何かの縁かもしれません。
Twitpic、9月25日に閉鎖。Twitterからの法的要請が理由 – TechCrunch

というわけで、FrameCameraを、再びよろしくお願い致します。

【AppStoreでFrameCameraを見る】