タグ

ブックマーク / cocoadays.blogspot.com (4)

  • Cocoaの日々: [iOS] バックグラウンド実行見本(Task Completion)

    (2011-12-01 追記あり)UIApplicationDelegateの呼び出しが iOS5 から変わった件。 Task Completion を使った iOS4 でのバックグラウンド実行サンプルを作ってみた。 サンプル 実行するとキューにたまった 30個のデータが順番に処理されてテーブルから消えていく。 処理は GCD を使い別スレッドで実行される。右上の[+]ボタンを押すとキューへデータが追加されていく。途中でホームボタンを押してアプリを切り替えても Task Completion によって処理は停止すること無く実行され続ける。わかりやすいようにアプリのアイコンバッヂに残タスク数を表示してみた。 バッジの数字は時間と共にカウントダウンされていくので処理が行われていることが確認できる。 Task Completion とは? Task Completion は、iOS4 から導入さ

    Cocoaの日々: [iOS] バックグラウンド実行見本(Task Completion)
  • Cocoaの日々: CoreData - 大量データを扱う場合のメモリ利用量を減らす

    データ件数は、Customerが 500件、Karteが6,000件(Customer1件につきKarte 12件)となっていて、それぞれを1つの CSVファイルへ書き出す。 処理は次のような感じになる。 NSMangedObjectContext* moc = [取得]; NSArray* customers = [moc Customer全件取得]; for (NSManagedObject* customer in customers) { NSArray* kartes = [moc Karte取得・条件:customer]; for (NSManagedObject* karte in kartes) { [CSV1行書き出し]; } }メモリのフットプリント(利用状況)はこんな感じ。 Customer, Karte を1件づつ読み込む度にメモリが消費され、フットプリントが増大し

  • Cocoaの日々: iOS 4.0 でアプリを一時停止しない設定 - UIApplicationExitsOnSuspend

    iOS/iPhone/iPad/MacOSX プログラミング, Objective-C, Cocoaなど iOS4.0 SDK (Xcode 3.2.3-) でビルドすると自動的に Fast App Switching が効くようになる。ホームボタンを押して終了させて、次回起動した時には終了直前の状態(画面)に復帰することができる。 これはこれで便利なのだが iPhoneシミュレータでもこれを忠実に再現していて開発時には困ったことになる。修正して再ビルドしても初期実行にならずに直前の走っていたバージョンが復帰してしまう。 これを防ぐには Info.plist に UIApplicationExitsOnSuspend=YES の設定を行う。 UIApplicationExitsOnSuspend YESの場合は、iOS3以前と同様にアプリは完全終了する。 NOまたは設定なしの場合は、一時停

    Cocoaの日々: iOS 4.0 でアプリを一時停止しない設定 - UIApplicationExitsOnSuspend
    mistofforest
    mistofforest 2011/02/04
    ホームボタンでアプリ終了するにはUIApplicationExitsOnSuspend=YES
  • Cocoaの日々: UIApplicationDelegate のマルチタスキング関連メソッド調査

    iOS/iPhone/iPad/MacOSX プログラミング, Objective-C, Cocoaなど UIApplicationDelegate の調査記録。系統だった整理は末尾の参考情報サイトに良い記事があるのでそちらを参照のこと(状態遷移図など)。 ※まとめはいつかやる(かもしれない)。 → 良いまとめ記事をみつけた(のでやらない)。 下記の状態遷移を参照のこと: Understanding iOS 4 Backgrounding and Delegate Messaging @ Dr. Touch (2010-09-15追記) 調査内容 実機を使って各状況下での UIApplicationDelegate の呼び出しを調査した。 パターン 1. ホーム画面からの起動停止(基パターン) 2. 起動後の動き(Fast App Switch切り替えなど) 3. 外部状況の変化(スリー

    Cocoaの日々: UIApplicationDelegate のマルチタスキング関連メソッド調査
    mistofforest
    mistofforest 2011/02/04
    スリープ確認方法
  • 1