SwiftでiOSシミュレータのときだけAFNetworkActivityLoggerを使う

この記事は投稿日から1年以上が経過しています。

だいぶ小ネタ。

コード

#if (arch(i386) || arch(x86_64)) && os(iOS)
    AFNetworkActivityLogger.sharedLogger().level = .AFLoggerLevelDebug
    AFNetworkActivityLogger.sharedLogger().startLogging()
#endif

UIDeviceを使う方法もあるが、そちらは実際に動いたときに判別することになる。
こちらだとそもそもiPhone用のアプリからはこのコード自体省かれる形になる。

意味

  • arc(i386)
    • 32bitのMac(シミュレータ)用のビルド
  • arc(x86_64)
    • 64bitのMac(シミュレータ)用のビルド
  • os(iOS)
    • ターゲットがMacじゃなくてiOS

オマケ

ぼくの手元では、デバッグ実行時に

#if DEBUG
    println("DEBUG")
#endif

DEBUG が出力されない。普通は出力されるはず??

所の執筆・監修した書籍

iOS 11 Programming

iOS 11 Programming

  • 著者:堤 修一,吉田 悠一,池田 翔,坂田 晃一,加藤 尋樹,川邉 雄介,岸川 克己,所 友太,永野 哲久,加藤 寛人,
  • 製本版,電子版
  • PEAKSで購入する