黒毛和牛モモバラ切り落し100g298円

iPhoneアプリを作ってます。リリースノートとか用ブログです。

iOS

NSCachesDirectory と NSTemporaryDirectory に関するメモ

iOS

忘れそうなのでメモ。 それぞれがシステムから消されるタイミングは? Apple のドキュメント File System Basics には、Caches ディレクトリは very low on disk space の時にシステムが消すことがあると書いてある。アプリが実行中には発生しないようなので…

Xcode7 で NSFetchedResultsControllerDelegate がクラッシュする場合の対応方法

iOS

Xcode7-beta の頃から NSFetchedResultsControllerDelegate で落ちるようになりました。現在の(betaではない)Xcode7 でも同様にクラッシュするようです。私のアプリも一時期結構落ちてましてユーザーさんにはご迷惑をおかけしておりました。当初 iOS9 固有…

UIPickerViewのラベルにminimumScaleFactorを設定する

How to Implement [UIPickerViewDelegate pickerView:pickerView viewForRow:forComponent:reusingView:] から adjustsFontSizeToFitWidth と minimumScaleFactor を指定した UILabel を返す。 [UIPickerViewDelegate pickerView:pickerView viewForRow:forC…

ついに全俺の悲願であった通知センターに平成の日付が表示される

年に2、3回ぐらいは見たくなる今年の年号を通知センター(正確にはToday Widgetっつーらしいですが)に表示するだけのiOS8アプリをAppStoreに提出中です。アプリ名は「平成Today」。自分が欲しかっただけなので広告無し無料です。 10個ぐらいはネタかぶって…

Storyboardを使うのをやめる方法

iOS

ラノベルの方をちょいちょい手を入れて行きたいなーと思ってる今日この頃なのですが、その前に立ちはだかる難題…という程のものでもないんですけど、なんとなくたまにはStoryboardも使ってみたいよねーとお気楽に試してみた結果Storyboardを使ってるが為に修…

64bit ARMのプリミティブタイプの長さについて

iOS

えーと、新しいアプリを作ってる途中で64bit対応(iPhone 5sだけ?5cも?)しようとしたら、想定(というほど大したものでもなく単なる思い込み)と違う部分が結構あったのでメモっときます。先に書いときますと、細かいことはだいたいhttp://infocenter.arm…

SneakyInput for Cocos2D-2.1

2013/9/13 20:26 追記 pull requestをマージしてもらえたのでcocos2d-2_1のブランチは消しました。 Cocos2d-2.1に対応したSneakyInputは本家のgithubからダウンロードできます。https://github.com/sneakyness/SneakyInput Cocos2d-2.1でSneakyInputが動かな…

__weak MyType *weakSelf = self の記述を省略する

pchファイル(かどこか適当な場所)にWeakSelfマクロを追加。 #if __has_feature(objc_arc) #define WeakSelf __weak __typeof__(self) #else #define WeakSelf __block __typeof__(self) #endif WeakSelfマクロを __weak MyType * の代わりに使う。WeakSelf…

ついに全人類の悲願であったGrouped UITableViewCellのCorner Radiusが変更可能となる

iOS

えー、全人類の悲願ってことは絶対ないと思いますが、全俺の悲願ということでwiPhoneアプリを開発し始めた時からGroupedなUITableViewのCorner Radiusの値を変えれないかなーと思っておりまして色々試してみたのですが、そのものずばりな方法がありませんで…

コマンドラインからObjective-Cソースファイルをコンパイルする方法

iOSアプリの話ですが、UIの絡まない処理はXcodeで書くよりもviとかでコーディングしてコマンドラインでコンパイルする方が速いと思っておりますのでその方法を書いときます。Macのコマンドラインから(iOSでも動くようにFoundationをインポートした状態のソ…

All Developer Program Services Are Now Back Online

Apple Developer Programがトラブってた件ですが、今日15時過ぎにAll Developer Program Services Are Now Back Onlineという件名のメールが届いておりまして完全に復旧したようです。

最前面のViewControllerを取得する

iOS

iOSのViewControllerヒエラルキーで最前面のViewControllerを取得する方法。 UIViewController *topController = [UIApplication sharedApplication].keyWindow.rootViewController; while (topController.presentedViewController) { topController = topCo…

iPhoneアプリでハンドル可能なNotificationを全てトラップする方法

iOS

iOSが送出するNotificationを全てトラップするコールバックが使えると便利な時がたまにありますのでその方法です。まずコールバック関数を用意します。とりあえず中身はNSLogするだけです。 static void MyCallBack(CFNotificationCenterRef center, void *o…

Storyboardを使ったプロジェクトをStoryboardを使わない形に書き換える

iOS

今までStoryboardを使って開発したことが無かったのでちょっと試しに使ってみたのですが、アプリの作りと合わないと後から気付いてしまいました。しょうがないのでNIBファイルを使った形に直そうと思ったのですが、(こんなアホみたいなことしてるバカは他に…

最近のiPhoneアプリ開発ではpresentViewController:とかはあまり使わないの?

iOS

Qiitaの【iOS7】フラットデザインUI実装に役立つライブラリのまとめに出てたライブラリが面白そうだったのでダウンロードしてサンプルを実行していたのですが、iPhone Flat Design UIを動かしてるとViewController間の遷移がiOS SDKのpresentViewController:…

キーボードの上下に同期してUIScrollViewのcontentInsetを変更する

iOS

最近何個かアプリを入れたのですが、iPhoneのキーボードが表示される際にキーボードに隠れる部分の制御処理をうまく同期させてないのがいくつかありまして、大枠でアプリの処理に問題がある訳ではないのですが挙動が微妙に気になるので、ちゃんと動くコード…

NSDateFormatterでNSDateをシステムのタイムゾーンとロケールで表示する方法

iOS

たまにしか使わない上にすぐ忘れるのでメモ。 NSDate *date = [NSDate date]; NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setTimeStyle:NSDateFormatterMediumStyle]; [dateFormatter setDateStyle:NSDateFormatterM…

libmagic-iosをCocoa static library frameworkにしました

iOS

1年以上前にlibmagicをiOSで動くようにしたものをGithubで公開してからずっとほったらかしにしていたのですが、勉強も兼ねてframeworkにしてみました。前に更新してからGithubの仕様が変わってたみたいで、Githubからのバイナリの配布ができなくなったためイ…

NSStringFromXXX

iOS

調べてみた事も無かったので知らなかったのですが、CGRectとかCGPointを文字列に変換するための関数がUIKit.hにあるみたいです、ということをPRTweenのソースを見て知りました。このようなコードを書くと、 NSLog(@"rect=%@", NSStringFromCGRect(CGRectZero…

UITextInput protocolのpositionFromPosition:を顔文字を含むUITextFieldに適用するとnilが戻ってくる場合がある

iOS

タイトルの通りなのですが、positionFromPostion:を一部の顔文字を含むUITextFieldに適用するとnilが返ってきます。例えば"キタ━━━━(゚∀゚)━━━━ !!!!!"などでこの現象が発生します。StackOverflowに答えが書いてましたが、4バイト文字を含むとダメみたいです。ui…

JavaScriptのencodeURIComponent相当のメソッドのObjective-Cでの実装

iOS

NSURLConnection等でHTTPリクエストを送信する際、日本語を含むURLは%エスケープする必要があるのですが、NSStringのstringByAddingPercentEscapesUsingEncodingはスペース等の一部の文字をエスケープするだけで、マルチバイト文字はエスケープしてくれませ…

sysctlの呼び出し方

iOS

iOSに限らず最近の*NIXでシステム情報を取り出す時はsysctl()を使用するのが普通のようですが、使い方を適当にしか理解しておらず「あれどうするんだったっけ?」状態になったので調べてみました。まず基本的な使い方は、int *型のname引数に取得したい情報…