xcode

A collection of 32 posts
program

Xcodeでメソッドにコメント書く

コメントは大事 例えばこんな感じで書くと色々と便利。メソッドだけじゃなくてプロパティとかただの変数でもいい。 /** @method increment: @param i NSInteger 数値 @return 引数iをインクリメントして返す 引数iをインクリメントして返すお仕事 */ - (NSInteger)increment:(NSInteger)i { return ++i; } 気をつけること 1. コメントは/*!ではなく/**で始めた方がいい。Swiftで/*!が無視された(今は違うかも? 2. 説明を書くときは空行を入れる、もしくは@discussionを使う この2つくらい。 使い方 コメントを書いたメソッドをクイックヘルプ(オプション+左クリック、もしくはコントロール+コマンド+ハテナ)するとこうなる(メソッドを呼び出す箇所でも同じ)。 しかしここまで書くのはめんどくさいし、そもそもクイックヘルプを表示するとかダルい。 どうせならメソッド打つときの補完と同じように大事な部分だけ表示できれば十分
1 min read
ios

ifdefとかのマクロ

iOSアプリを開発している人にはおなじみであろうマクロ #ifdef DEBUG // do something #endif Xcodeでプロジェクトを作成するとDebugビルドにはDEBUGがPreprocessor Macrosの初期値として設定されているので使用している人は多いと思う。 この#ifdefとかに混ざって#ifも使われていたりしてマクロがカオスになっているソースがたまにある。 ということで検証 // フラグ作成 #define TEST_FLG 1 // ifdefの場合 #ifdef TEST_FLG NSLog(@"ifdef TEST_FLG Success"); #else NSLog(@"ifdef TEST_FLG Failure"); #endif // TEST_FLG // ifの場合 #if TEST_FLG NSLog(@"if TEST_FLG Success"); #else NSLog(@"if TEST_FLG Failure"
1 min read
objc

iOS8のFontFamilyName

iOS9はこちら 取得方法 familyNameからfontNameを取得する。 for (NSString *familyName in [UIFont familyNames]) { for (NSString *fontName in [UIFont fontNamesForFamilyName:familyName]) { NSLog(@"%@", fontName); } } 確認環境 iPhone Simulator (iOS8.2) 結果抜粋 Marion-Italic Marion-Bold Marion-Regular Copperplate-Light Copperplate Copperplate-Bold STHeitiSC-Medium STHeitiSC-Light IowanOldStyle-Italic IowanOldStyle-Roman IowanOldStyle-BoldItalic IowanOldStyle-Bold CourierNewPS-BoldMT CourierNe
2 min read
objc

IBInspectableを使ったらエラーが出た

IBInspectableを使うとInterfacebuilderがよしなに表示を変えてくれるとかいうのは知ってた(試しに使ったことはあった程度だった)けど、IBInspectableを使っているライブラリがあったので使ってみた。 IB Designables Failed to render instance of XXX: Rendering the view took longer than 200ms. Your drawing code may suffer from slow... こんな感じのエラーが出た。xibファイルが無駄に複雑で巨大なせいでレンダリングが遅い画面だったけど、IBInspectableを使った結果余計なエラーが出るようになった。 もちろんビルドには問題ない。ただ気持ち悪いだけで。
objc

Xcode6.1.1で実機が選択できなかった

先日買ったiPadに開発中のアプリをインストールしようとしたらデバイス一覧に表示されず2日間ほど無駄をしてしまった。 プロジェクトのバンドルIDもプロビジョニングも問題無いことは確認済みだった(別Macではインストールできた)ので、MacかXcodeの設定に問題があるのだろうと思っていた。 解決方法 * 実機をMacに接続 * ステータスバーのWindow > Devices * Devicesウィンドウの左上DEVICESで該当の実機を[Ctrl+Click] * Show in Run Destinations Menuをクリック(チェックがついたらOK) 参考 Stack Overflow
ios

Xcode6のシミュレータのディレクトリ構成

アプリケーションがインストールされるディレクトリ ~/Library/Developer/CoreSimulator/Devices/<該当シミュレータのハッシュ値>/data/Containers/Bundle/Application/ アプリケーションのデータが設置されるディレクトリ ここにDocuments, Library, tmpなど入ります ~/Library/Developer/CoreSimulator/Devices/<該当シミュレータのハッシュ値>/data/Containers/Data/Application/<アプリケーションのハッシュ値>/ 該当シミュレータのハッシュ値は下記plistファイルに記載がある ~/Library/Developer/CoreSimulator/Devices/.default_created.plist