考える×つくる×動かす

主に技術系のことを書いていきます。

XcodeでObjective-Cのコードを成形する

普段はEclipseを使っている。
理由ってのはZendStudioが秀逸すぎて手放せないってのと、
ソースコードをしっかりと成形してくれるツールがあるのが大きい。

iPhoneのアプリ開発を初めてXcodeを使い始めてから、
ソースコードを成形してくれるツールがないかなと探してたら、
あったよー。


Uncrustifyっていうらしい。


しかもMacPortで探してみたらあったので速攻でインストール。

sudo port install uncrustify

Xcodeを開いてScripts > Edit User Scriptsで
追加して以下のコードを足した。

#!/bin/sh

echo -n "%%%{PBXSelection}%%%"
/opt/local/bin/uncrustify -q -l oc+ -c {$HOME}/Develop/Config/obj-c.cfg --replace <&0
echo -n "%%%{PBXSelection}%%%"

f:id:kazupyong:20090909192924p:image
設定は
Input :Entire Document
Directory :Selection
Output :Replace Document Contents
Errors :Ignore Errors
にして、ショートカットキーをAppleKey+F12に割り当てた。

obj-c.cfgファイルは適当に拾ってきたのを改造して、
iDiskにおいて、会社でも家でも外でも同じのを使えるように共有しておいた。


これで開発効率が上がりそうだね。

MacPortがうまく動かない

会社のMacProをSnow Leopardにアップグレードした。
当初はLeopardの状態のままでうまく動いていたんだけど、
PHP5.3.0を入れようとしたら見事に開発環境がおじゃんになった。

色々とやって動かなくなったので、
めんどくさくなったのでoptを削除して1から環境の構築。


# PHPApacheのインストール
sudo port install php5 +apache2 +curl +pear
# 各種モジュールのインストール
sudo port install php5-mbstring
sudo port install php5-memcache
sudo port install php5-imagick
sudo port install php5-gd
sudo port install php5-sqlite3

# DBのインストール
sudo port install mysql5-devel +server
sudo port install php5-mysql
sudo port install postgresql84-server
sudo port install php5-postgresql

confファイルをTimeMachineから救出して何とか元通りの環境に戻った。

ものすごい時間かかったよ。

Erica SudanのThe Developer's Cookbookを読み始めたよ。

英語の勉強も兼ねて洋書の本をamazonで買った。
プログラミングを勉強する際には英語の方がわかりやすいってのもあるけど。
英語の方が情報の量が多いのは事実だと思うよ。


Macの言語設定も英語にして使っているから、
スクリーンショットで英語表示されていてもそっちの方が分かりやすいしね。

前半はプロジェクトファイルやらコンポーネントについての説明。

そしてiPhoneアプリケーションの制限のお話。

制限は大きく分けて次の7個

1.ストレージの制限
2.データーのアクセスの制限(Sandboxって言うらしい)
3.メモリーの制限(3Gだと128Mbしかないよ)
4.インタラクションの制限(1度に表示できるのは1ウィンドウ)
5.エネルギーの制限(CPUは非力だから使いすぎるなって事)
6.アプリケーションの制限(バックグラウンドで実行できないよ)
7.ユーザーの動作の制限

続いてiPhoneのApplication Skeltonについての話。

1. main() function
アプリケーションの起動時に呼ばれるメソッド。
基本。

2.applicationDidFinishLaunching
アプリケーションの起動時に実行されるメソッド。
ここでUIwindowの設定だとかする。

3.applicationWillTerminate
アプリケーションの終了時に実行されるメソッド
ここでファイルに書き込んだりする。

4.loadView
UIViewControllerにあるメソッド。
ここでTabやNavigaterを設定する。

5.shouldAutorotateToInterfaceOrientation
横回転をするかしないかしないかのメソッド。
return YES;なら横回転をする。
return NO;なら横回転しなかった。

後半はHelloWorldのサンプルアプリケーションの話。

Code Signing IdentityをErica Sudanから
自分のDeveloperIDに変えたけどコンパイル時にエラーがでた。


Configurationを新しく作ったらそのエラーはなくなったけど。
実機で設定を変えたりと色々と動かしてみた。


f:id:kazupyong:20090730105037p:image


今日はここまで。
そういえばSafari(4.0.2)ではてなの管理画面から画像をアップロードしようとすると落ちる。
この仕様どうにかならないかな。


今日の読書はChapter1のintroducing the iPhone SDKの1~36ページ。

iPhoneの実機でサンプルプログラムを動かせたよ。

昨日iPhoneのDeveloper登録が完了したので、
実機でサンプルのプログラムを動かそうと色々頑張ったけどできなかった。


XcodeのOrganizerでダウンロードしたProvisionをインストールしたときに、

A valid signing identity matching this profile could not be found in your keychain

と表示されてコンパイル時に認証ができない状態だった。

しかしAppleの公式ドキュメントを読みながら、
一から登録し直したら実機で動かせました。


原因は昨日の日記の

10.証明書をダブルクリックするとKeychainが起動するのでSystemで2個インストール

Systemでインストールしていたのが原因っぽい。
Loginでインストールし直したら動いた。


f:id:kazupyong:20090728110600p:image

f:id:kazupyong:20090728110559p:image

これからどんどん開発を進めていこう!

iPhoneのDevelperに登録したよ。

法人名義で申し込んだので色々面倒くさかった。

以下メモ
1.iPhone Develpoer Accessに個人用アカウントの登録
2.法人用のアカウントの登録
3.Appleに同意書と登記簿のFAXを送る(2〜3日かかった)
4.Develperの年間登録料金をAppleStoreにて購入
5.メールで送られてきたキーでActivateする
6.Keychain Accessで証明書を作成する
7.Apple Developer ConnectionのCertificateで証明書をアップロードして
Approveボタンを押す。
8.ActionのタブにDownloadが出てくるのでそれをダウンロードする
9.WWDR intermediate certificateの証明書もダウンロードする
10.証明書をダブルクリックするとKeychainが起動するのでSystemで2個インストール
11.Apple Developer ConnectionのDevicesに自分のiPhoneのデバイスUDIDを登録する
12.Apple Developer ConnectionのApp IDsにアプリを登録する。
13.Apple Developer ConnectionのProvisioningに新しいプロファイルを追加する。
14.そのプロファイルをDLしてXcodeのOrganizerから自分のiPhoneと結びつける。

なんかうまくビルドができないので今日はここまで。