一般

IPアドレスを取得

iPhone/iPodタッチのIPアドレスを取得する NSHost *localHost = [NSHost currentHost]; NSString *ip = [localHost address]; 自分のメモとして

iPhoneをスリープさせない

一定時間、ユーザからの入力がないと、画面が消えロックされますよね。普通のアプリだと、そんなに問題にはなりませんが、ずっとスクリーンをぼーっと眺めているようなアプリ (KoiPondとかBloomとか?)だと、困ったことになります。そこで強制的にスリープさ…

ステータスバーを隠す

ステータスバー - iPhoneのスクリーンの一番上の時刻や電波の強さがでているバーゲームなどでフルスクリーンが必要な場合、このステータスバーを消すことになるかと思います。ステータスバーを消すのは簡単。 [UIApplication sharedApplication].statusBarHi…

NDA 一部解禁へ

http://developer.apple.com/iphone/program/ に To Our Developersと題する文章が掲載されています。その中で、「すでにリリースされているソフトウェア」に関しては、NDAを撤廃するという発表がなされました。まだリリースされてないソフトウェアに関して…

近接センサーをつかう

UIApplicationのヘッダをチェックしていてありました! [UIApplication sharedApplication].proximitySensingEnabled = YES; 手や顔がiPhoneのレシーバーに近づくと、画面が消えてロックされます。それだけ。delegateとかでとれるといいんですけどね。

シミュレータと実機を区別するためのマクロ

CoreLocationをつかったアプリを書いていて面倒なのは、「シミュレータでは動かない」という点。ご存知かと思いますが、シミュレータ上でのCoreLocationは常にクパチーノのAppleの本社の緯度経度を返すようになっています。世界全体をターゲットにしたアプリ…

viewLoadedとメモリ不足

開発していて、viewLoadedが何度も呼ばれてしまうという現象に出会いました。あるview AをUINavigationViewで表示 → view Bをpush -> view Bをpopしてview Aに戻るところで、view AのviewLoadedが再度呼ばれる。本来ならview Aが最初に表示されたときに呼ば…

iPhone Tutorial - Archivers, unarchivers, and serialization by Nick Myers

http://www.vimeo.com/1454094はてな日記って、普通にHTMLを書くことはできないのか?? 動画をembedしたいんだけど。

ネットワークにアクセスしていることをユーザに提示する簡単な方法

今、ネットワークにアクセスしてますよーということをユーザに簡単に提示する方法。ネットワーク上のデータをロードしてるようなときには、Activity Indicator(ぐるぐる回ってるやつね)を使うのが一般的ですが、自前で準備しなくてもシステム側が用意してく…

iPhoneの個体番号を取り出す

iPhone, iPod touchには、個体ごとに固有のデバイスIDが付与されている。 個体を識別してなにかやりたいような場合に便利だ。このIDを取り出すのは、次の一文ですむ。 [UIDevice currentDevice].uniqueIdentifierNSLog()してみると、c748e3570301***********…

iPhoneで使えるフォント

Interface BuilderでラベルのフォントをHelvetica Neueにして使ったところ、実機の方で起動時にアプリが落ちるという現象に見舞われました。ログをチェックしたところ、FT_Load_Glyph errorで落ちている模様。どうもフォントのロード失敗して落ちているよう…

アプリのsandboxをURLを取り出す

iPhoneアプリはアクセスできるファイルが厳密に制限されてます。アクセスできるディレクトリの中で特に重要なのが、アプリケーション自体のバンドル内のDocumentsディレクトリ。 NSArray *filePaths = NSSearchPathForDirectoriesInDomains ( NSDocumentDire…

ローカライズしたアプリケーション名を取り出す

これはCocoaと全く同じはず。 NSString *appName = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleDisplayName"];