今まで作っていたXcodeプロジェクトをgit管理にうつす。 基本設定 git config –global user.name ‘your name’ git config –global user.email you@example.com リポジトリ作成、プロジェクトを追加 プロジェクトホームに移動 git init git add . git commit -m “first commit” 読み方は「ぎっと」 git statusでエスケープされてちゃっている場合 git config –global core.quotepath false .gitignoreはこちら https://github.com/github/gitignore/blob/master/Objective-C.gitignore
Category: iPhone
XCodeでDebug時とRelease時にLog出力on/off切り替え
開発中のDebugモードではログを出力し、申請時のReleaseモードではログを非表示にします。 最新のXcodeでは新規にプロジェクトを作っただけで、「Build Settings」タブの「Apple LLVM compiler 3.1 – Preprocessing」の「Preprocessor Macros」の「DEBUG」にすでに「DEBUG=1」が入っています。 〇〇〇-prefix.pchに以下のコードを追加します。 #ifdef DEBUG # define NSLog(…) NSLog(__VA_ARGS__); #else # define NSLog(…) #endif これでOK。 確認します。 メニューの左上のプロジェクト名をクリックすると、メニューが出てくるので「Edit Scheme」を選択。 「Run」のBuild ConfigurationをDebug/Releaseを切りかえて実行してください。
iPhoneを中国語、韓国語の言語設定から日本語に戻す
アプリをローカライズしているのですが、 確認のために自分のiPhoneの言語を対象の言語に変更した時、 日本語に戻せない!となるので書いたメモ。 中国語(簡体字)から戻す 中国語(繁体字)から戻す 韓国語から戻す
iPhoneアプリのライフサイクル
SDK2.2で作られたXcodeのプロジェクトを自分のXcode(SDK4.2)で開いた。 1) アプリ起動時に呼ばれるdidFinishLaunching(didFinishLaunchingWithOptions)でデータベースに接続。 2) 処理をいろいろして。 3) アプリ終了時に呼ばれるapplicationWillTerminateでデータベースに保存して、接続を切ってアプリ終了。 という流れのアプリ。 そんでもって自分の環境でリコンパイルしたところ、applicationWillTerminateが呼ばれない。 調べると、iOS4からマルチタスクになったからapplicationWillTerminateじゃなくて、applicationDidEnterBackgroundが呼ばれ、呼び戻す時には、applicationWillEnterForegroundが呼ばれる。 とのこと。 では、現行のSDK2.2でコンパイルされて、リリースされて、iOS4.2で動いてるこのアプリはapplicationWillTerminate呼ばれてるの?呼ばれてなかったら3) の保存処理されてないということですか? ということで調べてみたところ、以下の条件下ではapplicationWillTerminateが呼ばれるとのことでした。 ■ アプリケーションがiPhone SDK 3.x以前にリンクしている。 ■ アプリケーションがiPhone OS 3.x以前のデバイス上にデプロイメントされている。 ■ 現在のデバイスがマルチタスクをサポートしていない(「マルチタスクがサポートされている かどうかの確認」 (65 ページ)参照)。 ■ アプリケーションのInfo.plistファイルにUIApplicationExitsOnSuspendキーが含まれてい る(「バックグラウンド実行を行わないことを選択」 (40 ページ)参照)。 ちょっとびびった。 ちなみにSDK2.2の入れ方がわからないので、デバッグできまへんでした。 iPhoneアプリケーションプログラミング ガイト: http://developer.apple.com/jp/devcenter/ios/library/japanese.html