Tag Archives: Swift

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 カナル型ワイヤレスイヤホン Bluetooth対応 リモコン・マイク付 ブラック SBH20/B

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

中古価格: ¥ 3,700 より

Amazon価格:¥ 6,610

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

発売日:2013-07-19




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

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

カテゴリ:Kindle版

発売日:2014-11-28


新iPhoneのアスペクト比(縦横比)まとめ:Swiftで計算してみた

1
Filed under iPhone, Swift
Tagged as , ,

今年のiPhone

日本時間の今朝2:00、事前の噂通り、大画面化したiPhoneが発表されました!
iPhone 6 アスペクト比
しかも、新しい2機種ともこれまでと違う画面サイズ(iPhone 6: 750×1334、iPhone 6 Plus: 1080×1920)!
アプリを作る開発者としては、一番気になるのはそのアスペクト比なのですが、アスペクト比を計算し、デザインについての考察をまとめました。

アスペクト比は変わらないがデザインは再検討必須!

ちょっと前なら、rubyとかperlで書くようなコードですが、今ならXcodeのPlayground(Swift)ですよね!
ソースコードはgistにアップしましたが、次節で説明します。
まずは結果を書いておきます。

iPhone 4 (S) : [640:960] => [2:3](0.666666686534882)
iPhone 5 (C|S) : [640:1136] => [40:71](0.563380300998688)
iPhone 6 : [750:1334] => [375:667](0.562218904495239)
iPhone 6 Plus : [1080:1920] => [9:16](0.5625)
iPad (all) : [1536:2048] => [3:4](0.75)

こんな感じで、厳密にはiPhoneだけで4パターンとなるのですが、「大抵のものなら、iPhone5のアスペクト比と同じ」ということで良いのではないのでしょうか。
ただ、デザインにこだわるなら、パーツのレイアウトは、ちょっと考えたほうが良いかもしれません。
それは上記の各端末のスクリーンショットが並んでいる様子を見るとわかるのですが、アイコンのサイズは変わらず、各アイコンの間隔が広がるようなレイアウトになっています。これは参考にすべきでしょう。
アスペクト比が同じだからと言って、そのまま大きな画面ではボタンも大きくなるレイアウト、ではかっこわるくなりそうです。
結論:UIにこだわるアプリデザイナーは、autolayoutを設定できるようになるか、それを考慮したレイアウト指定ができるようになる必要がある。

アスペクト比計算.swift

さて、上記計算をしたコードを下記に貼り付けます。
ユークリッドの互除法で最大公約数を計算できれば、特に難しくないコードですね。

えぇ、タプルを返す関数を書きたかっただけです。:-)

PLATA 【 マン 人間 人型 】 おもしろ USB メモリ 8GB 【 オレンジ 】

PLATA 【 マン 人間 人型 】 おもしろ USB メモリ 8GB 【 オレンジ 】

定価:¥ 2,000

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



折紙の数学―ユークリッドの作図法を超えて

著者/訳者:ロベルト ゲレトシュレーガー

出版社:森北出版( 2002-04 )

定価:

単行本 ( 206 ページ )

ISBN-10 : 4627016816

ISBN-13 : 9784627016811


Swiftに注目すべきたった一つの理由

0
Filed under iOS SDK, Swift
Tagged as , , , ,

先日のWWDC14のキーノートの最後にSwiftが発表され、iOSアプリ開発のコミュニティは騒然としたまま10日が過ぎました。
Swift
Appleが即日で公式ドキュメントや開発環境(Xcode6beta)を提供したこともあり、ある人は早速勉強会を企画し、ある人はgithubにプロジェクトをアップし、またある人は2048をコピーし、発表されたのが先週頭とは思えないほど、既に世の中にはSwiftの情報があふれています!

飛びつくべき新言語なのか?

さて、そのSwiftですが、オフィシャル情報を見て、文法がモダンで普通に便利そうなのは分かります。
しかし、Objective-Cに置き換わる可能性はあるのか?
置き換わらないとしても、限りある学習コストを使ってまで習得すべき言語なのか?
ある程度経験のあるエンジニアなら強く感じる疑問かもしれません。
私も、基本的にあまり無駄に言語は習得すべきではない(出来ない)と考えているくらいで、Swiftを学習することについてはかなり懐疑的でした。

しかし、ある一つの情報を知り、かなりの確度でSwiftがiOS/Macアプリ開発においては主流になりうると考えるようになりました。

Chris Lattner

その情報とは、Swiftの「制作者」です。
Swiftの制作者 Chris Lattner は、WWDC14のキーノートでSwiftの説明をしたその人なのですが、実は、今ではXcodeの標準コンパイラ基盤となっているLLVMを設計した人なのです!
Chris Lattner
ウェブで公開されている情報によると、イリノイ大学アーバナ・シャンペーン校でComputer ScienceのPh.D取得後、Apple Inc.のXcode/Instrumentsのプロジェクトに入ったのが2005年。
そんなChris Lattnerが、2010年から作り始めた言語がSwiftなのです!
私たちからするとSwiftは「突然出てきた新言語」なのですが、その背景を知ると「満を持して出てきた新言語」なのです。

最強の組み合わせ

LLVMには、様々な言語から一旦中間言語にする過程があリます。
ここをうまく活かして、Rubyを使ったRubyMotion, C#を使ったXamarinなどが出てきています。
もちろん、Swiftもここに乗っかるわけですが、SwiftはCocoa/Cocoa touchに特化して作られてきている言語です。しかもその基盤となるLLVMを誰よりも知っている作者が携わっているのです!
このような理由で、当面無視はできないし、iOS8以降を対応としたアプリならSwiftで書くくらいの興味は持ち続けておきたいと考えています。

情報源/ポッドキャスト

ところで、Swiftの作者であるChris Lattnerについては、Rebuild.fmの第46回「Worldwide Stockholm Syndrome (naan, hak)」で知りました。
Rebuild.fmは、最近聴いているポッドキャストの中でもテック系として、自分より高い視点だったり、サーバサイドの話が聞けるので、気に入っています。
ポッドキャスト繋がりで言うと、backspace.fmの第27回「モダシン総帥が語るWWDC2014の感想とスティーブジョブズについて」もWWDC14で発表された内容について言及されています。ゲストがモダシンさんで、iOS/Mac OS Xの融合が進んだことについてかなり面白い話が聞けます。そうか、そういうことか、と。

実は最近、自分もポッドキャストやりたい、とか考えていて、誰か一緒にやらないかなーー。