タグ

2012年7月9日のブックマーク (7件)

  • 第2回 アプリ内でログを閲覧するためのライブラリ iConsole | gihyo.jp

    実機で開発中のアプリの動作確認を行う際、Xcodeと接続していないときにもNSLogやprintf等で出力したログを確認したい場合があるかと思います。 iConsoleはアプリ内でログ閲覧するためのライブラリで、 このようにコンソールライクなウィンドウをアプリ内に表示してログを確認できるようになります。 iConsoleの特徴 アプリ内でログ閲覧できるようにすること自体は 出力したい文字列(=ログ)をプールする ログを確認するための画面を表示する という2つの機能が最低限あればよいので、実際のところ自作しても大変ではないのですが、iConsoleは上記機能をラップしている以外に、多くの特徴を備えています。 たとえば、 5段階のログレベルを指定することで、ログ出力量を段階的にコントロールできる クラッシュ時に自動的にスタックトレースをロギングしてくれる コンソール画面の起動方法として、スワイ

    第2回 アプリ内でログを閲覧するためのライブラリ iConsole | gihyo.jp
  • XcodeのArchiveを自動化しよう - りょうのはてな

    いやー、お久しぶりです。 昨年の12月に更新して依頼、かなりご無沙でした。 最近、髪型を2ブロックにしたら、風通しが良くなりすぎて、ほんと寒くて、 2ブロックにしたのを若干後悔してる阿部です。 それでは題。 ipaファイルの生成が面倒すぎる 最近はめっきりXcode(Objective-C)でアプリ制作に没頭しています。 そんな中で実機確認のため、よくipaファイル(アプリ体)を Xcodeから生成するんですが、これが何度も作るとなるととても面倒で。。 [Scheme]からアーカイブしたスキームの選択 メニューの[Product]から[Archive]選択 [Share...]ボタンクリック Identityから生成したプロビジョニングファイルを選択し、[next]ボタン押下 ipaファイルのファイル名を設定 「Save for Enterprise Distribution」のチェッ

    XcodeのArchiveを自動化しよう - りょうのはてな
  • Lion+Xcode 4.3.2にアップデートしたらJenkinsでビルド出来なくなった - 酢ろぐ!

    仕事上の都合でSnow Leopardを使い続けてきましたが、ようやくLionに乗り換えることが出来るようになったので、合わせてXcodeも4.3.2にアップデートしました。途端にJenkinsさんが仕事をしてくれなくなりました。 結論から言うとターミナルから2つのコマンドを実行する必要がありました。 まずはひとつ目のエラーメッセージ。 [workspace] $ /usr/bin/xcodebuild -version Error: No developer directory found at /Developer. Run /usr/bin/xcode-select to update the developer directory path. FATAL: Check your XCode installation. Jenkins cannot retrieve its ver

    Lion+Xcode 4.3.2にアップデートしたらJenkinsでビルド出来なくなった - 酢ろぐ!
  • iOSアプケーションにバンドルする画像リソースについて

    アイコンについては、基的にはこのファイル名でリソースに追加すれば表示されますが、実際には、Info.plistの「Icon files」(CFBundleIconFiles)で設定したほうがよいようです。Appleの「iOS Application Programming Guide」内の「Build-Time Configuration Details」に次のような記述があります。 重要: アプリケーションアイコンに固定ファイル名を使用するのは以前のバージョンへの互換性のためです。もしiOS 3.2以降で動作するので固定ファイル名を使用している場合でも、Info.plistにキーCFBundleIconFilesを含めるようにすべきです。iOS 3.2以前ではシステムは最初に固定ファイル名でアイコンを探し、iOS 4以降では最初にキーCFBundleIconFilesでアイコンを探しま

    iOSアプケーションにバンドルする画像リソースについて
  • RESTに関する3つの間違い

    楽観的排他制御を利用する非同期的なトランザクション実行であればスケーラビリティを損ねることなく2phase commitが可能である。これは、分散KVSにおけるスケーラビリティと一貫性の両立について で主張したように、同期的な2phase commitは密結合に誘導することになるため、矛盾するように思えるかもしれない。だがそんなことはない。 前半はまずこの話から入るが、後半ではRESTに関する間違いについて、3つほど思うところを述べたい。 楽観的排他制御と2phase commit reflexworksではFeedやEntry単位でatomicなトランザクション処理を行えるが2phase commitはサポートしていない。これを許すと密結合になってスケールしないからである。だが、これはあくまで同期的な処理の話であって、ネットワーク障害への耐性を考慮され、非同期処理やオフラインで使えるので

    RESTに関する3つの間違い
  • iOS でデータを永続化する方法 - A Day In The Life

    iOS データ設計入門の続きです。前回は iOS であつかうデータ全般について書きましたが今回はデータをフラッシュドライブに保存する方法について説明します。 データの永続化って何? メモリにあるデータはアプリを終了すると消えてしまいます。 アプリを終了しても残しておきたいデータはフラッシュドライブに保存する必要があります。メモリにあるフラッシュドライブに保存することをデータの永続化といいます。永続化されたデータはフラッシュドライブが壊れない限り永続的に保存され残ります。以降 iOS でフラッシュドライブがどのように管理されているのかと、データを永続化するのにどのような方法があるのかについて説明していきます。 フラッシュドライブを構成する3つの領域 データを永続化する方法を説明する前に iOS でフラッシュドライブがどのように管理されているか見ていきましょう。 iOS ではフラッシュドライブ

    iOS でデータを永続化する方法 - A Day In The Life
  • iOS でオブジェクトをシリアライズしてファイルに保存する方法 - A Day In The Life

    iOS でデータを永続化する方法の続きです。今回はシリアライズされたオブジェクトの保存方法について説明します。シリアライズされたオブジェクトはファイルで保存することが容易なためデータ永続化の際に頻繁に使用されます。 シリアライズ自体はデータの保存に限らず、Interface Builder やネットワークを使ったデータの送受信などいろいろなところで使われています。 プログラマであれば必ずおさえておきたい技術の一つです。 シリアライズって何? オブジェクトの状態をバイナリ(0と1の集まり)に変換することをオブジェクトのシリアライズまたはシリアル化といいます。逆にバイナリをオブジェクトに変換することをデシリアライズといいます。 シリアライズされたデータは iOS 上では NSData オブジェクトとしてあつかわれます。NSData オブジェクトはそのままファイルに保存することができます。 iO

    iOS でオブジェクトをシリアライズしてファイルに保存する方法 - A Day In The Life