Swift転職なら=>【LevTech】
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大

頭痛が減ったので共有です!

rebuild.fmを応援しています!

HOME > #ifdef DEBUG のやり方

デバッグ時とリリース時に処理を変更する#ifdef DEBUG のやり方

DEBUG時だけ特定の動作をさせて、リリース時に排除したい、そんな時に利用する方法です。Swiftでは標準ではDEBUGとリリースの判断がつかないので、 コンパイル時に設定する必要があります。参考サイトには今後標準でDEBUGがコンパイル時に自動でできるかな?との記載もQiita様にありましたが、 XCode6.3ではまだのようでした。

参考:Swift での #ifdef DEBUG のやり方
参考:Xcode6,Swiftで APIのURLを分ける

やってみた

Swift Compiler - Custom Flags に Other Swift Flags のDebugに -D flag のフォーマットで追加します。今回はDEBUGなので、本来はわかりやすく -D DEBUGですが、それだと芸がないので、あんまりやってももちろん意味も何もありませんが、-D HIGE にしてみます。デバッグ時にはHIGEが含まれます。

サンプル画像


        #if HIGE
        let yourfavoritearea = "ヒゲです"
        #else
        let yourfavoritearea = "実はヒゲではありません眉毛です"
        #endif
        
        println(yourfavoritearea);
        

#ifを利用する箇所は関数の中でも外でもグローバルでも大丈夫です。上記の方法だと、DEBUG時にはHIGEがコンパイル時に含まれますので、 "ヒゲです"が表示され、リリース時には"実はヒゲではありません眉毛です"が表示されます。

まとめ

簡単な事をHIGEを使ってややこしく気持ち悪くしてしまい失礼しました。難しい内容でヒゲネタを使うのは良いですが、 単調な記事に使うとただ煩わしいだけだと自分自身感じました。

↓こんな記事もありますよ!

CLLocationManagerで現在位置を取得

あっさりしたシンプルなサンプルがなかったので省略型です。

CoreTextでTextViewの一文字の向きを変える(解決前)

TextViewの文字を縦書きにしたいなぁと考えている時にCoreTextとNSMutableAttributedStringの二つのどちらかなら実装できそう。CoreTextを利用してトライして無理ならAttributedStringをトライしてみます。

UINavigationController

TabBarとUITableViewControllerを利用して一つのUIViewControllerだけをクリックすると右にスライドするUINavigationControlerを 利用したサンプルを記載します。というのも、AppDelegate内でUINavigationをself.windowのrootviewcontrollerにセットする 方法は多々あったのですが、AppDelegate内を利用しないでNavigationを実装する方法がなくハマっていましたのでを以下記載します
このエントリーをはてなブックマークに追加
右側のFacebookのLikeをクリック頂けると記事更新の際に通知されますので宜しければご利用下さい!