自己紹介

自分の写真
最近、iphoneアプリをリリースしました。
UxU
無料アプリですので、是非遊んで下さい。 第二弾アプリ:工場夜景写真集 今後も色々なアプリをリリースしていく予定です。
次は、コスプレ or 漫画 or 騎乗日記

2011年1月26日水曜日

MapKit

■現在地周辺の地図を表示
 ⇒
//ヘッダーより
MKMapView *aMap;
CLLocation *currentLocation;
distance = 1500;

//クラスより
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(currentLocation.coordinate, distance, distance);
[aMap setCenterCoordinate:currentLocation.coordinate animated:YES];
[aMap setRegion:region animated:NO];

//以下のデリゲートメソッドで現在地の吹き出しを日本語に変更する事が可能

-(MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id)annotation
{

if (annotation == aMap.userLocation) {
// 現在地 変更
[(MKUserLocation*)annotation setTitle:@"現在地"];
[(MKUserLocation*)annotation setSubtitle:@"今、ここに居ます"];
return nil;
}

MKAnnotationView *annotationView;

//アノテーションの処理を記述する

return annotationView;

}

2011年1月24日月曜日

旧バージョン iOS に対応するためのいくつかの方法を紹介しているページ

旧バージョン iOS に対応するためのいくつかの方法を紹介しているページ
http://d.hatena.ne.jp/KishikawaKatsumi/20100625/1277476249

iOS 実機デバッグ手順

1. 開発PCを登録を行う
1-1. アプリケーションから[キーチェーンアクセス]を起動します。
1-2. [設定確認]より、OCSPとCRLが「切」になっている事を確認します。
1-3. [キーチェーンアクセス]⇒[証明書アシスタント]⇒[認証局に証明書を要求]を選択して、証明書を作成します。
1-4. 証明書情報は、以下の情報を記入します。
ユーザのメールアドレス:iOS Developer Program に登録した際のメールアドレス
コモンネーム:iOS Developer Program に登録した際のFirstname とLastnameを記入する。
(※ FirstnameとLastnameは、ローマ字登録していないと上手く動作しません)
要求の処理:[ディスクに保存]を選択して、「鍵ペア情報を指定」をチェックします。

2. iOS Provisioning Portal(旧:iPhone Developer Program Portal)にアクセスします。
2-0. AppleIDとPasswordを入力してLoginする。
2-1. 左側にあるメニュー(Home/Certificates/Devices/App IDs/Provisioning/Distribution)より、[Certificates]をクリックします。
2-2. [Development]タブを選択する。
2-3. ステップ1で作成したCSRファイルを「Request Certificate」ボタンをクリックします。
2-4. タブを一旦、[Distribution]タブにします。それから、[Development]タブに戻します。
2-5. Request Certificate の箇所に「Approve」ボタンが表示されますので、クリックします。
2-6. タブを一旦、[Distribution]タブにします。それから、[Development]タブに戻します。
2-7. Approve の箇所に「Downloade」ボタンが表示されますので、クリックすると、証明書をダウンロードします。
2-8. ダウンロードして、ファイルをダブルクリックすると、キーチェーンアクセスの証明書に追加されます。
2-9. If you do not have the WWDR intermediate certificate installed click here to download now. のアンカーをクリックして「AppleWWDRCA.cer」をダウンロードします。
2-10. ダウンロードして、ファイルをダブルクリックすると、キーチェーンアクセスの証明書に追加されます。
2-11. キーチェーンアクセスに、以下の証明書が追加されていれば成功です。
■iOS Development: Firstname Lastname
■Apple Worldwide Developer Relations Certification Authority

3. 実機登録を行う
3-1. iPhone(もしくは、iPod Touch) をMac に接続し、Xcode を起動します。
※Xcodeをインストールしていない場合は、以下のURLよりダウンロードして下さい。
http://developer.apple.com/devcenter/ios/index.action
3-2. メニューの[ウィンドウ]/[オーガナイザ]でオーガナイザを起動します。
3-3. iPhone の「Identifier」(Device ID)をコピーします。
3-4. iOS Provisioning Portalにログインします。
3-5. 左側にあるメニュー(Home/Certificates/Devices/App IDs/Provisioning/Distribution)より、[Devices]をクリックします。
3-6. [Manage]タブを選択する。
3-7. 「Add Devices」からDevice Name と3-3でコピーしたDevice ID を指定して追加します。

4. Provisioning Profileを作成する
4-1. 左側にあるメニュー(Home/Certificates/Devices/App IDs/Provisioning/Distribution)より、[App IDs]をクリックします。
4-2. 以下の項目を記入して[submit]ボタンをクリックする。
・Description: xxxx (後で、何アプリの開発用だとわかるように記入する)
・Bundle Seed ID:Generate New
・Bundle Identifier:com.xxx.appriname
ワイルドカード形式のApp ID を付けることもできます。
例)com.rainbowapps.*
4-3. 左側にあるメニュー(Home/Certificates/App IDs/Provisioning/Distribution)より、[Provisioning]をクリックします。
4-2. [Development]タブを選択する。
4-3. [New Profile]ボタンをクリックして、以下の項目を記入して[submit]ボタンをクリックする。
・Profile Name:xxxx(後で、何アプリの開発用だとわかるように記入する)
・Certificates:チェックを入れる
・AppID: 4-2で作成したAppIDを選択する。
・Devices:ステップ3で作成したDeviceを選択する。

4-4. [Provisioning]メニューに戻り、「Development」タブを選択する。
4-5. 先ほど作成したProvisioning Profileの[Download]ボタンをクリックします。
4-6. ダウンロード後、ファイルをダブルクリックして取り込みます。

5. Xcodeより実機に転送する
5-1. 開発中のプロジェクトより、xxx-Info.plist を開き、Bundle identifier のcom.yourcompany の部分を、4-2(Bundle Identifier)で入力したものと同じにする。
5-2. メニュー[プロジェクト]/[プロジェクト設定を編集]を選択し、コード署名ID をProvisioning Profile で登録したものを選択します。
   (※ 構成:DEBUGとなっている事を確認する)
5-3. ツールバーを「Device 4.2 | Debug」(iOS4.2インストール時の場合)にします。
5-4. ビルドして実行すると、iPhone 実機にアプリケーションがインストールされ実行されます。

これで、貴方もiOSデベロッパーですね!
これから、iOS開発する人にオススメな本があります。
UIに特化した本です。どんなUIがあるのかを辞書的に見るのにも使えます。

App Store iOSリリース手順(その1)

iOSリリース手順
------------

1. キーチェーンアクセスをアプリケーションを起動します。
1-1. アプリケーションから[キーチェーンアクセス]を起動します。
1-2. [設定確認]より、OCSPとCRLが「切」になっている事を確認します。
1-3. [キーチェーンアクセス]⇒[証明書アシスタント]⇒[認証局に証明書を要求]を選択して、証明書を作成します。
1-4. 証明書情報は、以下の情報を記入します。
ユーザのメールアドレス:iOS Developer Program に登録した際のメールアドレス
コモンネーム:iOS Developer Program に登録した際のFirstname とLastnameを記入する。
要求の処理:[ディスクに保存]を選択して、「鍵ペア情報を指定」をチェックします。


2. iOS Provisioning Portal(旧:iPhone Developer Program Portal)にアクセスします。
2-0. AppleIDとPasswordを入力してLoginする。
2-1. 左側にあるメニュー(Home/Certificates/App IDs/Provisioning/Distribution)より、[Certificates]をクリックします。
2-2. [Distribution]タブを選択する。
2-3. ステップ1で作成したCSRファイルを「Request Certificate」ボタンをクリックします。
2-4. タブを一旦、[Development]タブにします。それから、[Distribution]タブに戻します。
2-5. Request Certificate の箇所に「Approve」ボタンが表示されますので、クリックします。
2-6. タブを一旦、[Development]タブにします。それから、[Distribution]タブに戻します。
2-7. Approve の箇所に「Downloade」ボタンが表示されますので、クリックすると、証明書をダウンロードします。
2-8. ダウンロードして、ファイルをダブルクリックすると、キーチェーンアクセスの証明書に追加されます。
2-9. キーチェーンアクセスに、「iOS Distribution: Firstname Lastname」の証明書が追加されていれば成功です。


3. リリース用の[App IDs]を作成します。
3-1. [New App ID]ボタンをクリックします。
3-2. 以下の項目を記入して[submit]ボタンをクリックする。
・Description: xxxx (後で、リリース用だとわかるように記入する)
・Bundle Seed ID:Generate New
・Bundle Identifier:com.xxx.appriname


4. リリース用の [Provisioning Profile]を作成します。
4-1. 左側にあるメニュー(Home/Certificates/App IDs/Provisioning/Distribution)より、[Provisioning]をクリックします。
4-2. [Distribution]タブを選択する。
4-3. [New Profile]ボタンをクリックして、以下の項目を記入して[submit]ボタンをクリックする。
・Distribution Method:App Storeを選択する。
・AppID: ステップ3で作成したAppIDを選択する。
4-4. [Provisioning]メニューにより、「Distribution」タブを選択する。
4-5. 先ほど作成したProvisioning Profileの[Download]ボタンをクリックします。
4-6. ダウンロード後、ファイルをダブルクリックして取り込みます。


5. Xcodeでreleaseビルドをしてappファイルを作成します。
5-1. ビルドで「すべてのターゲットをクリーニングする」
5-2. コード署名ID には、Distribution 用の署名を選択します。(iOS Distribution:Firstname Lastname)
5-3. ビルドを行います。
5-4. 左側のメニューエクスプローラより、「Products」グループを選択して、右クリックで「Finderで開く」を選択する。
5-5. Finderで、Bulid/Release iphoneosの下のappファイルを選択して、圧縮をします。


これ以降は、iTunes Connectより登録します。それは、「その2」でまとめます。

クラッシュログ

開発が進み、リリースすると頼りになるのが、
ユーザからのクラッシュログだが、そのままでは何がなんだか分かりません。

そこで、[symbolicatecrash]というツールがあります。

コマンドライン上で以下のコマンドを打ちます。

sudo cp /Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/symbolicatecrash /usr/bin

(sudoで管理者権限を与え、symbolicatecrashをコピーする。)

sudo chmod a+x /usr/bin/symbolicatecrash

(権限を与えます)

【変換】引数の一番目にcrash,二番目にdSYM(リリースファイルを作る際に出来ているファイルです。)を与えて,以下のように実行する.
symbolicatecrash crash.txt hogehoge.dSYM > Symbols.crash
 
【変換後】 クラス名が記述されているので、そこを調査する。

2011年1月23日日曜日

ログ出力 小技編

通常、iphone開発でログを出力しようとする時は、NSLogを使用しますが、
このままだと、リリースする際に消去する必要がある(遅くなるので)

ちょっと、工夫することでそのままリリースすることが出来るようになるので
今回は、それを紹介します。

①プロジェクトの設定に編集する
 構成を「DEBUG」にしてから、プリプロセッサマクロに「DEBUG」を追加する
②hファイルに、マクロを記入する
#ifdef DEBUG
# define TRACE(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);
#else
# define TRACE(...)
#endif

上記を書くことで、TRACE()と記入するだけで、関数名と行数も出力しますし、
リリース時は、出力されないようになります。

③実際のソースにTRACEを記入する
 ログ出力したい部分にNSLogの代わりにTRACEを記入する。
 フォーマットは、NSLogと同様の書き方でOKです。