↑クリックして拡大
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大

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

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

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


2021-05-14 14:21:41

WatchOSのwatchconnectivityのFiletransferの落とし穴。と、避け方。

AppleWatch 実機だと成功するんだけど、シュミレーターだと失敗するという、、、 昔作成してた時は成功してたのになーと思って調べると、どうやら昔は成功してたみたい。watchOS6以降は...

2021-05-06 14:04:37

LINEのアニメーションスタンプ制作の落とし穴、、、失敗談

ゴールデンウィークにLINEスタンプを作成してみました。 作り切って申請も通したんですが、意図したアニメーションと違う、、、、 LINEクリエーターの画面だと、アニメーションのプレビュー...

2021-05-01 18:05:35

久しぶりのAdmobをobjective-cに実装。コンパイルエラーだらけ。バーミッション不具合でエミュレータにインスコできない。

忘れないようにメモ エミュレータにアプリをインストールする際にパーミッション系のエラーがでた時、また、iphone実機にインストールする際にも権限系のエラーが出る場合。 ターゲット→ex...
このエントリーをはてなブックマークに追加
右側のFacebookのLikeをクリック頂けると記事更新の際に通知されますので宜しければご利用下さい!