カテゴリー ‘ スマートフォン

iPhoneアプリのUITableViewの編集モードを使う場合の注意点


 

iPhoneアプリでTableViewを使用している場合、「編集モード」を使うとかなり便利にデータ削除が行える

UITableViewControllerを継承しているのならあまり問題ないかと思うのですが、

UIViewControllerで「UITableViewDelegate, UITableViewDataSource」を独自に実装してUITableViewを操作する場合注意が必要になります。

注意が必要と言っても1つだけ忘れないで置くことを覚えておくだけです。

「- (void)setEditing:(BOOL)editing animated:(BOOL)animated」

このメソッドの実装を忘れない事です。このメソッドを書かないで置くとEditボタンを押下しても、うんともすんともいいません。

さみしい状態になるので注意しましょう。

iOSアプリケーションの共通に使用されるディレクトリ


 

iOSアプリケーションを開発するときに使用するディレクトリ構成の備忘録

ディレクトリ 概要
<Application_Home>/AppName .app
アプリケーションを含むバンドルディレクトリ。
このディレクトリ内にプログラムから書き換えを行うとアプリが起動できなくなります。
iTunesでバックアップされない
<Application_Home>/Documents/
アプリケーション内でデータファイルを書きだすディレクトリ。
iTunesでバックアップされる
<Application_Home>/Documents/Inbox
外部エンティティからアプリケーションに対して要求されたファイルのアクセスに使用する。
iTunesでバックアップされる

<Application_Home>/Library/

アプリケーションのデータファイル以外のファイル用の最上位ディレクトリ。
iTunesでバックアップされる
<Application_Home>/tmp/
アプリケーションを次に起動するまで保持する必要のない一時ファイルを書き込むディレクトリ。
iTunesでバックアップされる

これを押さえておかないとファイルをリソースフォルダ内に出力してしまったりするので注意しましょう

Galaxy Nexus(SC-04D)のROOT化の手順 mac版


 

注意事項

全て自己責任で作業を行って下さい。

キャリアの保証は一切きかなくなります。

また、作業中にデータが消えたり、起動しなくなってしまったりする場合があります。

その場合も一切責任を負いかねますのでよろしくお願いします。

 

今更ながらですが、「Galaxy Nexus(SC-04D)」をroot化したのでその時の手順の備忘録です。

手順

  1. ブートローダーをアンロックする。
  2. CWM Recoveryを入れてDocomo純正ROMをバックアップ(カスタムROM入れる予定がないので必要ないかも)
  3. Root化

 

ブートローダーのアンロック

ブートローダーをアンロックするとデータが消えるらしので大事なデータが入っている場合は注意が必要です。

それでは、アンロックの手順です。

  1. 電源をOFFにする
  2. ボリュームUp、Downボタンを同時に押下しながら、電源ボタンを押します。これで「fastboot mode」でブートローダーが起動します。
  3. ブートローダーが起動したらPCと接続します。
  4. 「fastboot oem unlock」とターミナルに入力し実行する
  5. 「Glaxy Nexus」の画面が以下のように変わるので、「ボリュームUpボタン」を押下して「Yes」を選択状態にしてから「電源ボタン」を押下します。すると、ブートローダーがアンロックされます。
  6. 本体を再起動します。

これで、ブートローダーのアンロックは終了です。

CWM Recoveryを導入して純正ROMのバックアップ

  1. 「fastboot mode」でブートローダーを起動する
  2. ClockworkMod 5.5.0.2 for Galaxy Nexus *GSM Edition*」をダウンロードする
  3. ターミナルで「fastboot boot recovery-clockwork-5.5.0.2-maguro.img」と入力し実行する
  4. 「ボリュームDownボタン」を押下して「backup and restore」を選択して「電源ボタン」を押下します。
  5. 画面が変わったら「backup」が選択されている事を確認して「電源ボタン」を押下します。
  6. バックアップが開始してしばらくすると「Backup complete!」と表示されます。これでバックアップ完了です。
  7. 「reboot system now」を選択して「電源ボタン」を押下してリブートします。
  8. Android File Transfer」を使用してMacに「clockworkmod」の中身をコピーします。これが、バックアップしたファイルそのものになります。

これで、ROMのバックアップが完了です。

Root化(4.0.4の場合)

  1. su.zip」をダウンロードする
  2. su.zipを端末に転送する
    「adb push su.zip sdcard/」
  3. 「fastboot mode」でブートローダーを起動する「adb reboot bootloader」
  4. CWM Recoveryを実行する「fastboot boot recovery-clockwork-5.5.0.2-maguro.img」
  5. 「install zip from sdcard」を選択する
  6. 「choose zip from sdcard」を選択する
  7. 「su.zip」を選択する
  8. 「Yes – Install su.zip」を選択する
  9. インストールが完了する
  10. 「reboot system now」を選択する

これで、root化が完了です。

Root化(4.0.2の場合)

  1. Superboot – rooting the GSM + LTE Galaxy Nexus」から、「r4-galaxynexus-gsm-superboot.zip」をダウンロードする
  2. ダウンロードしたら解凍する
  3. 「fastboot mode」でブートローダーを起動する。
  4. ターミナルで「./install-superboot-mac.sh」と入力して実行する
  5. そうすると、端末が再起動されsuperuserがインストールされてroot化が完成します。

これで、Root化終了です。

カスタムROMのインストールもこれで可能なので、楽しんでみてください。

自分はカスタムROMにはあまり興味ないですw

Android3.0以降でMacを接続してUSBでファイルをやり取りする方法


 

Galaxy NexusMacをつないでもFinderで表示されないのでどうしたのかと思い調べてみたら、

Android3.0以降では、USBでAndroidとMacを接続しても、Finder上に表示されなくなりました。

これを対応する為には、「Android File Transfer」というソフトがGoolgeから提供されているのでこれを使う必要があります。

使用方法

  1. Android File Transfer」からファイルをダウンロードします。
  2. ダウンロードしたファイルをクリックして開きます。
  3. アプリケーションフォルダに「Android File Transfer.app」をコピーします。
  4. USBで対象のAndroidをつないで、「Android File Transfer」を実行します。
  5. 実行するとこのような画面が表示されますので必要なデータを転送して使用します。

[iPhoneアプリ]TabBarControllerでタブに設定されているViewContllerを入れ替える


 

iPhoneアプリで「TabBarController」で実装していると、特定のタブの表示をごっそり入れ替えたい場合がある。

この時、タブに設定されているViewContller毎、入れ替えてしまう方法

    NSMutableArray *tabs = [NSMutableArray arrayWithArray:self.tabBarController.viewControllers];
    SubTabViewController *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"SubTabViewController"];
    UIViewController *tmpController = [tabs objectAtIndex:1];
    controller.tabBarItem = tmpController.tabBarItem;
    [tabs replaceObjectAtIndex:1 withObject:controller];
    [self.tabBarController setViewControllers:tabs animated:NO];
  • 2行目で入れ替えたいViewContllerのインスタンスを生成
  • 3-4行目で、tabBarItemを設定
  • 5行目でタブの入れ替え(今回は2つめのタブを入れ替えたのでIndexは「1」を指定)

これで、見事ViewControllerが入れ替わって下に表示されているタブは、そのまま使用されます。

return top