TONY0922のブログ

学んだことを適当に記録していくブログです。主にRuby, Java, PHPで仕事してます。更新頻度はそんなに高くないので、ご了承下さい。

iOS Core Data徹底入門 を読んだ。

iOS Core Data徹底入門

iOS Core Data徹底入門

【対象】
中級者

【感想】
もっと早く読んでおけばよかった一冊。

データを永続化させるのにファイルから始まって、SQLite、CoreDataを進んでいって、
CoreDataに関してはUndoとかマイグレーションとか割りと深いところまで、
掘り下げて書いてくれるので、iOSで初めてデータベース使ってみたい人は
参考にしてみても良いかも。

ネットの情報とかで勉強するのもいいけど、
こっち読んだほうが数倍早い。

前半のファイル書き出しとかSQLiteのみで永続化とかの部分がかったるいと
思う人は読み飛ばして、CoreDataから見ても良し。

Effective Objective-C 2.0 を読んだ。

Effective Objective-C 2.0

Effective Objective-C 2.0

【対象】
中級者 ~ 上級者

【感想】
プライベートでiOSアプリ作成してるんだけど、
そこで色々悩んだ事柄が結構載ってて、
解決の糸口として大いに役に立った。
定数の管理方法や命名規則などこれ読んどかないと
後々苦労しそうな事も結構あって、助かった。

あと、わりとこれ読んで、
Objective-C」でメタプログラミングできるじゃん!!
って思ったので、存分に活用してみようと思う。

iPhone/iPad 開発ポケットリファレンス を読んだ。

iPhone/iPad 開発ポケットリファレンス

iPhone/iPad 開発ポケットリファレンス

【対象】
iPhone開発する人ならだれでも

【感想】
iOS関連のリファレンスなら、「iPhoneプログラミングUIKit詳解リファレンス」が有名だけど、
こっちはiOS7まで対応しているから、最新のiOSが何ができるかを知りたいかは
パーッと眺めてみると良いかも。(自分はそうした。)

電子書籍にしてタブレットで参照するのが使いやすいかもしれない。

レベルアップObjective-C を読んだ。

レベルアップ Objective-C (Software Design plus)

レベルアップ Objective-C (Software Design plus)

【対象】
初心者 ~ 中級者向け対象

【感想】
Xcodeの基本的な使い方やデバッグのやり方が
丁寧に記載されていて、知らない箇所も多くあったので、非常に有用だった。
メモリ管理やマルチスレッドに関してもわかりやすく書かれているので、
機会を作ってもう一度、見直す予定。

Titanium MobileのAlloyでControllerで作成したViewにtssの定義を適応させる。

Titanium SDK:3.2.0
Alloy:1.3.0

Controllerで作成したViewはそのままだと
tssで定義したclassを当てはめることができないので、
Dynamic Styleを使うと良い。

index.tss

// Button全てに以下の定義が適用。
"Button" : {
	backgroundColor : "black"
}
".buttonEnabled" : {
	opacity : 1.0,
	touchEnabled : true
}
".buttonSize" : {
	width : "50dp",
	height : "50dp" 
}

index.js

var button = Ti.UI.createButton();
var style = $.createStyle({
	apiName : "Button" // tssの「Button」を指定。
	classes : ["buttonEnabled", "buttonSize"] // 複数のClassを指定。
}); 

button.applyProperties(style); // tssのクラスが適用される。

【参考URL】
http://docs.appcelerator.com/titanium/3.0/#!/guide/Dynamic_Styles

Titanium MobileでAlloyでアプリ名を日本語にする

Titanium SDK:3.2.0
Alloy:1.3.0

・プロジェクトのappフォルダと同階層に「i18n」フォルダを作成
i18n/ja/app.xmlを作成。
・app.xmlを編集

<?xml version="1.0" encoding="UTF-8" ?>
<resources>
	<string name="appname">日本語アプリ名</string>
</resources>

これで、ビルドするとiOSAndroidの両方でアプリ名が日本語になります。

Titanium MobileのiOS用スプラッシュ画像はちゃんとしたpng拡張子を使おう

お前は何を言って(略

Titanium MobileでiOS用のスプラッシュ画像を使うために
gifファイル用意してたんだが、pngしか設定できないようなので、
拡張子をリネームして、下記のファイルを設定した。

Default.png
Default-568h@2x.png
Default@2x.png

iOS Simulatorは指定したインチに沿って、
使用するスプラッシュ画像を選択してくれてたんだけど、
いざ、実機で確認すると「Default-568h」を
使用すべきところを「Default」しか使ってくれず、
そのおかげで、アプリ自体、640 × 960 サイズになって、
上下に黒い部分の領域ができてしまっていて、この解消方法がわからなかった。

解消方法は素直に
gifpng にちゃんと画像変換すれば、設定出来ました。

今考えると、拡張子リネームしただけで、変換できるか!!って言われそうだけど、
寝てなかったから頭が回ってなかったんです。(言い訳)