2011年12月7日水曜日

iPhoneアプリ開発でアプリごとのデータファイルを確認する

アプリごとに写真を管理したりデータファイルを作った際、実際にどういったファイルができている、思った通りのファイルができているのか気になると思います。

iOSシミュレータでデバッグをしている場合はMac上のFinderで作成したデータファイルを見ることができます。
保存先のディレクトリは
「~/Library/Application Support/iPhone Simulator/<SDK Version>Applications/<アプリ>」
フォルダ内にDocuments・Library・tmpのフォルダが構成されています。
ここで各データのファイルを確認することができます。


※ここでいうLibraryはホーム以下のLibraryフォルダになります。

またLionを使用されているかたはLibraryフォルダが見つからないと思います。
実際にフォルダがなくなったわけではなくLionでは最初表示されていないだけみたいです。
表示するにはFinderの「メニューバー > 移動」を選択します。
そこでOptionキーを押すと「ライブラリ」が表示されます。

(Mac初心者の私はここでつまずきました。。。)



次に実機でデバッグをしている場合はXcodeのOrganizer(オーガナイザ)を使用します。
実機を接続した状態でOrganizerを立ち上げ「Devices」を選択します。
画面左にデバイスリストが表示されます。
その中からいま接続している実機を選択し「Applications」をクリックすると画面右にビルドしたアプリの一覧が表示されます。
確認したアプリを選択すると画面右下にDocuments・Library・tmpのフォルダ構成が表示されるのでそこからデータファイルを確認することができます。





2011年12月6日火曜日

iOSのソフトウェアキーボードを閉じる

TextFieldのReturn KeyをDoneを変えた場合、Doneとして押してもソフトウェアキーボードが自動で閉じてくれません。
キーボードのReturn Keyを押したときの挙動を定義する必要があります。

まずヘッダーファイルにDelegateを設定
@interface ViewController : UIViewController
<
    UITextFieldDelegate
>

次にTextFieldのDelegateをselfに設定
- (void)viewDidLoad
{
    [super viewDidLoad];

    [aTextField setDelegate:self];
}

最後にtextFieldShouldReturnを実装
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
    if ( [textField canResignFirstResponder] )
        [textField resignFirstResponder];

    return YES;
}

処理に合わせて閉じる以外の処理を加えることも可能です。