2010年12月26日日曜日

[iOS] UIViewをゆっくりと隠す

参考元:iPhoneSDKのUIViewアニメーション

UIViewの派生ビューであれば、簡単にできます。

読み込み待ちをメッセージ表示するのに利用しました。

読み込み中であれば、次のビューを表示します。


ただ、読み込みが一瞬で完了すると、すぐに消えてしまい、何が表示されてたかわかりません。
そこで、一瞬で完了しても、ゆっくりと非表示にするようにします。

そのソースが以下になります。

if (isHidden) {// 非表示有無
    // ゆっくりと隠す
    CGContextRef context = UIGraphicsGetCurrentContext();
    [UIView beginAnimations:nil context:context];
    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
    [UIView setAnimationDuration:0.5f];// アニメーションを完了させる時間
    [self.waitView setAlpha:0.0f];// アニメーション内容(非表示)
    [UIView commitAnimations];
} else {
    // すぐに表示
    [self.waitView setAlpha:1.0f];// アニメーション内容(表示)
}

たった数行書くだけで、アニメーションを実現できるって、フレームワークの機能は充実してますね。

[iOS] Core Graphics

Core Graphicsがどんなものか、簡単な描画をしてみる。

■黒線で円を二つ描画してみる。

UIViewのサブクラスに次のソース付け足すだけです。


- (void)drawRect:(CGRect)rect
{
//現在のグラフィックスコンテキストを取得
CGContextRef cgContext = UIGraphicsGetCurrentContext();
//ストロークカラーの設定(0.0-1.0でRGBAを指定する)
CGContextSetRGBStrokeColor(cgContext, 0.0, 0.0, 0.0, 1.0);

//ストロークの線幅を設定
CGContextSetLineWidth(cgContext, 2.0);
//カレントポイントから指定した座標に向けて線を引く
CGContextStrokeEllipseInRect(cgContext, CGRectMake(10.0, 10.0,10.0,10.0));
//パスに円を追加
CGContextAddEllipseInRect(cgContext, CGRectMake(30.0, 30.0, 60.0, 60.0));
//画面に描画
CGContextStrokePath(cgContext);
}


グラフィックスコンテキストを取得して、描画したい内容を付け足すだけで、手軽にできそうです。

基本はわかったので、次はもうちょっと複雑な描画をやってみます。


iOSのグラフィックス

引用元:タワーディフェンスゲームの作り方 (1) - フレームワークの選定

iPhoneでグラフィックス描画を行うには、主に3つのフレームワークが提供されている。
パフォーマンスが高い順に、OpenGL、Core Graphics(Quartz)、Cocoaとなります。
それぞれを比較した表は引用元に掲載されています。

ぼくは、UIView上にグラフを描画したいだけなので、それほどゲームプログラミング並のパフォーマンスは必要ない。それより、手早く開発できることの方が重要です。

機能とパフォーマンスの高さから、Core Graphicsを選択して、グラフ描画を作成していきたいと思います。

まず、Core Graphicsの関連資料を調べてみました。
1.Quartz 2D Programming Guide
2.Core Graphics Framework Reference
3.Core Graphics Reference Collection

資料(1)に詳しく書かれているっぽいけど、英語なのが困ったものです。

2010年8月9日月曜日

SVN+SSH(公開鍵認証)でバージョン管理を構築

SVNを使ってファイルのバージョンを管理します。

嬉しいこと。
・ファイルの変更履歴を管理できる。
・複数人(複数PC)でファイル編集ができる。

さくらのレンタルサーバにSVNサーバを構築して、EclipseまたはWindowsから利用する。

さくらのレンタルサーバにSVNのインストールするやり方はここを参考にした。
http://mishuku.net/archives/2008/02/subversion-install.php

EclipseにSVNのクライアントPluginのインストールするやる方はここを参考にした。
http://server.seasar.org/manual/install_subclipse.html

WindowsからSVNクライアントを利用した場合にはこのソフトがオススメ。
http://www.gside.org/Gentoo/subversion/subversion_client.html
http://sourceforge.jp/projects/o2on/wiki/TortoiseSVN導入(公開鍵の設定)

SSH2で接続した場合には、公開鍵を作成してクライアントとサーバに置いてください。
また、svnでの接続先は次のようにする。
svn+ssh://<ユーザ名>@<ホスト名>/<リポジトリ>

※メモ
Eclipseでリンクフォルダにしているとバージョン管理できないので気をつけましょう。
僕はこのワナにはまって、1時間くらい時間を費やしてしまった;;

2010年7月31日土曜日

マインドマップソフトを使ってみよう









http://www.xmind.net/

香港のXMind Ltd.社が開発しているオープンソースのマインドマッピングソフトウェアです。

Windows、Mac、Linuxとマルチプラットフォームで動くのが魅力的です。

試しに適当なグラフを作成してみた。


なんだかEclipseベースのインターフェイスなのかな。よく似てる。

それにしてもデザインがきれいです。

操作も簡単で、ノードで右クリックまたはツールバーから子ノードをどんどん追加することができます。

ノードの文字・背景色も変更することができ、自由なマインドマップを描けます。


ダウンロードサイト
 http://www.xmind.net/


2010年7月26日月曜日

もう一冊iPhoneアプリ開発の参考書買った



最近、出版されたばかりでiPhone4対応の参考書を買ってきました。

Objective-CからXCodeの使い方まで基礎知識までしっかりとカバーしております。

初心者にはベストな本です。


基本知識や操作の説明が終われば、

いくつかの実践アプリを例にプログラムの解説されています。
・画像ビュアー
・迷路アプリ
・メモアプリ
・クイズアプリ

プログラムの書き方を学ぶには、実践よりのプログラムに触れるのが近道です。

この本で基礎を学び、作りたいアプリの機能を他の参考書で学ぶといいでしょう。

2010年7月25日日曜日

Mac Book用のHDMI出力アダプタ


Apple純正品でなく、サードパーティ製だとMini Display PortからHDMIで出力できるアダプタがあるんですね。

HDMIだからって、もとがDVIだからオーディオ(音声)までは出力されません。

AmazonでのHDMIアダプタ製品一覧

iPhoneにストラップをつけてみた

iPhoneを片手で横向きに持ったときに、

しっかりと持てず落としそうになるので、ストラップがほしいと思ったわけです。

両手で持てばいいじゃん!というツッコミには、

片手がなにかと塞がっているときがあるじゃないですか?

カバン持っているときなど。



悩みに悩んで、ヨドバシカメラで買ってきました。



これの面白いところは、通信端子のところのネジを利用してて、本体を加工せずにできます。

保護カバーにストラップを付けれるものを買うのもいいでしょう


さっそく付けてみる

本体のネジを外してみた。思ったりより小さいネジが付けられてた。


ネジを入れ替えて、パーツを取り付けると、こんな感じです。

少しはみ出ていますが、さほど邪魔にはなりません。

ネジで2カ所止めているので、ガッチリとしています。


近くにあったストラップを付けてみる。



次はiPhoneのUSBの通信ケーブルはどうだろう?



しっかりと接続できた。

ストラップも通信ケーブルもきちんと付けれるので、

なかなかいいものを買えたと満足しています。


ただ、値段が1360円と、これと言わずiPhoneのアクセサリって高い。

さびないステンレス製で、角が丸々しててケガはしない加工がされていますが、

それでも高いような気がします。


でも、っかりとストラップをつけたい人にはオススメです。

※iPhone4には対応しておりません。






2010年7月17日土曜日

さぁiPhoneアプリ作ろうっと

ちょうど手元に、MacBookとiPhoneあるので、iPhoneアプリ開発に挑戦!

はじめに↓の参考書を買ってきました。
英語のSDKドキュメント読むより、参考書の方がまとまってて理解しやすい。



iPhoneアプリ開発環境はインストールしたので早速挑戦してみます。

あ、ちなみのこの参考書は、中級者向けだと思います。
表紙通り、コンポーネント(ボタン、リストなど)の使い方を解説しております。
GUIをメインに使ったアプリを開発する人向けな印象です。

値段は高めですが、500ページくらいあり内容も充実しております。


最初のUIを利用した開発の基本から読み始めます。




iPhone4のアンテナ問題でケース無料配布

記事元:Yahoo! ニュース

iPhone4の持ち方で電波感度が悪くなる問題で、Appleさんがケースを無料配布すると発表しました。

Jobsさん休暇中に大変ですね。

先日は、アンテナ表示の不具合で、iOS 4.0.1のアップデートをリリースしたばかりなのに。

2010年7月11日日曜日

iPhone向けのWebサイト開発のための書籍

手元にMac BookとiPhoneがあるんなら、

iPhone向けサイトも作ってみたいという動機で参考書買ってきました。



流し読みして、

・全ページがカラー
・実際の画面のスクリーンショット付きでの解説
・サンプルコード

というのが特徴で、デザインがシンプルできれいなのが決めてですね。

今から読み始めます。

2010年7月3日土曜日

iPhone 4のアンテナ問題は表示誤り

Apple、iPhone 4のアンテナ問題は「電波強度表示の誤り」と発表 アップデート実施へ
http://www.itmedia.co.jp/enterprise/articles/1007/03/news003.html

iPhone 4のアンテナ問題は電波強度表示の誤りと発表されていました。

僕のiPhone 3GSも圏外なのに通信できたり、表示誤りは本当だったのね。

初代のiPhoneからこの表示バグが存在してたらしい・・・。


数週間以内にソフトウェアアップデートが提供されます。

2010年6月22日火曜日

iOS4にアップデート!



日本時間、6月22日午前2時ほどに
iPhone3GSをiOS4、iPhone4のOSへアップデートできました。

ダウンロードに混雑して時間かかりましたが、30分ほどで完了しました。

ホーム画面に壁紙が表示されて感動した。
・マルチプロセス
・アプリのフォルダ整理機能
というのが気になってたので紹介します。


マルチプロセスは、ホームボタンを二回押すことで、下の方に起動しているアプリが表示され、タップすることで切り替えれます。アプリを終了せず、切り替えれるので起動する待ち時間がなくなりますね。




アプリのフォルダ整理機能は、アイコンがこんな感じになります。


このアイコンをタップすると、下に展開され一覧が表示されます。



フォルダの作り方は、まず、アプリのアイコンを長押しして、アプリアイコンの整理画面にします。
フォルダにまとめたいアイコンをアイコンへドラッグして、重ねるだけで簡単にできます。

2010年6月19日土曜日

Macのソフトウェア・アップデート


久々にアップデートしたら、iTunesとMac OSXアップデートでありました。

iTunesはiPhoneへの対応、Max OSXは細かいところの修正ですね。


400Mと大容量のアップデートなので、時間が空いたときにやるのをお勧めします。

再起動も必要ですしなぁ。

2010年6月16日水曜日

New Mac mini

ふとAppleのサイトを見ると、Mac miniが新しくなっていました。


今は、iPhone4でにぎわってて、いつのまに発表したんだろう・・・?


ぱっと仕様をのぞいたところ、

・HDMI端子がついてて、テレビと簡単に接続できる。
・本体が薄くなってて、コンパクト。

とこかな。

Webサーバ用にMac miniがほしいなぁ。

省エネだし、小さいってところがいいね。

Serverバージョンだと、ハードディスクが二つついてて、

RAID1(ミラーリング)で使いたいなぁ。





大画面でMacを楽しむ♪


BRAVIA EX700の32V型液晶テレビを購入したので、せっかくなのでMac Book Proを接続してみた。このテレビには、青色のディスプレイ端子(D-Sub)とHDMIがあって、HDMIで接続を試してみた。



Mac Book Proからは、Mini Display Port -> DVIでDVIに変化して、そこから、HDMI-DVIを使って、HDMIに変換する。

ぼくは安かったので↓のケーブルを使った。




これで、美味くテレビにMacの画面を移せるようになった。少し問題が、デュアルディスプレイかミラーリングを選択しないといけなく、Mac Bookの方のディスプレイを消せない。別途ソフトを使えばこれを解決できるかも知れないが、まだ調べていない。

テレビと液晶モニターでは、ドッド並び?が違うせいか少し違和感がある。

大画面で見れるので、小さい画面見続けるよりは、遠くから見れるので目にはいいのかな!?

2010年6月13日日曜日

GIMPのツールの切り替えが便利になった


Mac版GIMPには、ツールボックスのツールを切り替えるのに、ウィンドウを一度アクティブにしてから、ツールをクリックする手間がある。

たったこの手間が面倒で、いつもWindows版GIMPを使っていた。


やっと解決方法を見つけたので紹介する。

1.XQuartzというソフトをインストール


2.X11の設定を変更する

 % defaults write org.x.X11 wm_ffm true
 % defaults write org.x.X11 wm_click_through true


これで、ツールボックスの上にマウスカーソルを持っていくだけで、自動的にウィンドウがアクティブになります。


MacでGIMPがまともに使えるようになった(*^-^*)


っと思ってたら、再起動したらちゃんと動かなくなった・・・

XQuartzのアイコンがカッコイイ!!

X11の環境設定見てたら、


□選択されていないウィンドウを直接クリック
□フォーカスをマウスと一緒に移動

あれ・・・?この設定って、XQuartz入れる前からあったのかな?


いずれかをチェックしたら快適に操作できるようになった。


よーく、わからんけど、結果オーライ。

Inkscapeをインストールしてみた

Macでベクター画像を編集するソフトです。

X11をインストールする必要があります。

Inkscapeのダウンロード:http://www.inkscape.org/


右上の「Download Now!」をクリックして、ダウンロードページへ移動。


インストールしたけど使い方がさっぱり(笑





使って慣れるしかないなぁ。

2010年2月12日金曜日

【GrowlMail】Mailでのメール受信情報をお知らせ表示



MacのメールクライアントMailで,受信するたびにメール内容確認するのが面倒なのでGrowlMailをインストールしました.

ダウンロードは,ここからです.
動作条件が,Mac OSX 10.5以降とGrowlをインストールしてる必要があります.
※Growlのダウンロードもここからできます.

GrowlMailは,受信メールの内容をこんな感じに表示してくれます.



インストールは,「次へ」ボタンをポチポチ押してればあっという間に終わり.

設定方法は,Mailの環境設定の「>>」のとこに隠れています.


Growlはいろんなアプリケーションのお知らせを表示してくれて重宝してます.

2010年2月10日水曜日

プレビューの注釈機能が便利


今日、プレビューで画像加工ができることを知ったよ♪

ツールバーの注釈ボタンを押すと、下の方に注釈ツールが現れます。

そこから、矢印、楕円、四角、文字っと4種類しかないけど、手軽に使えて便利!!

あとは、線の太さ、色、フォントも変えられました。

2010年1月8日金曜日

Ubuntu 9.10でApache2+SSLにしてみる

今回は、認証部分を開発する上で必要な暗号化通信に向けて。

Ubuntu 9.10で

ローカルサーバを立ち上げた直後は、https(SSL)が有効でなかったので、
設定してみた。

1. Apache2のSSLモジュールを有効にする
次のコマンドを実行する
a2enmod ssl
これは「/etc/apache2/mods-available/default-ssl」へのシンボリックリンクを「/etc/apache2/mods-enabled」に作っているみたい。

2. Apache2のSSL設定を有効にする
次のコマンドを実行する
a2ensite default-ssl
これは「/etc/apache2/sites-available/default-ssl」へのシンボリックリンクを「/etc/apache2/sistes-enabled」に作っているみたい。
※DocumentRoorが/var/www/になっているので必要に応じて変更
「/etc/apache2/sites-available/default-ssl」を変更。

3. ファイアウォールでhttpsを通すようにする
これはファイウォールの設定ソフトをインストールして行った。
https(ポート番号:443,TCP)を通過するように。
ぼくはソフトウェアセンターで設定ソフトを入れてます。


4. Apache2の再起動
/etc/init.d/apache2 restart

最後にブラウザを立ち上げて、https://....でアクセスできるかチェックする。