Swift でリリースビルド時にログ出力させないようにする。

ターゲットへの環境変数の追加

  1. ターゲットの設定から『Build Setting』を開く
  2. 『Other Swift Flags』の『Debug』項目に -D DEBUG を入力する

グローバル関数を定義する

func println(object: Any) {
    #if DEBUG
        Swift.println(object)
    #endif
}

func print(object: Any) {
    #if DEBUG
        Swift.print(object)
    #endif
}

Swift で日時・クラス名・メソッド名をログ出力したい』で書いたログ関数も以下のように。

func Log(object: Any, classFile: String = __FILE__, functionName: String = __FUNCTION__, lineNumber: Int = __LINE__)
{
    #if DEBUG
        let dateFormatter = NSDateFormatter()
        dateFormatter.dateFormat = "yyyy/MM/dd HH:mm:ss.SSS"

        println("[\(dateFormatter.stringFromDate(NSDate()))] \(classFile.lastPathComponent.stringByDeletingPathExtension)(Line:\(lineNumber)) -> \(functionName)")
        println(object)
    #endif
}

参考サイト

iOS Swift Xcode 6: Remove println() for release version

The simplest way is to put your own global function in front of Swift's println

stackoverflow.com

Next PostPrevious Post