*

Swift1.2でCocoaLumberjackを入れたときにやったこと。

   

久しぶりの更新ですが、そこはスルーで。

今までログについてはNSLogを使っていたものの、普通にCocoaLumberjackは入れなきゃダメだろうと、導入を決めたところ、思いのほか手こずったので、備忘録がてら記載します。

基本的な動きは以下のサイト様の内容と同じです。

How to use CocoaLumberjack in Swift

CocoaPodsでCocoaLumberjackを入れる

CocoapodsでCocoaLumberjackを入れます。

まずはコンソールからCocoapodsを入れます。すでに入っている場合は適宜アップデートですかね。

インストール

$ sudo gem install cocoapods --pre

アップデート

$ sudo gem update cocoapods

インストールできたら、Xcodeプロジェクトの[プロジェクト名].xcodeprojのファイルがあるフォルダにPodfileを作成します。
(あらかじめ、Xcodeプロジェクトは作っておいてください。)

Podfile

platform :ios, "8.1"
 
pod "CocoaLumberjack", '2.0.0-rc2'
 
use_frameworks!

CocoaLumberjackのバージョンは「2.0.0-rc2」指定みたいです。

use_frameworks!は一番最後に記載します。

そのあと、コンソールで[プロジェクト名].xcodeprojのファイルがあるフォルダに移動し、インストールします。

$ pod install

完了すれば、.xcworkspaceができるはずです。

CocoaLumberjackのSwift対応

Objective-Cなら後はimportするだけなんですが、Swiftはそうはいかないようです。

まず、Finderから、プロジェクト名のフォルダ/Pods/CocoaLumberjack/Classes/にアクセスします。

そこにある。CocoaLumberjack.swiftをドラッグして、XcodeのPods/CocoaLumberjack/Defaultの配下に配置します。

スクリーンショット 2015-04-29 10.58.52

ダイアログが出るので以下の選択で、OK。

xcode-add-file-options

これでファイルが追加されましたが、これで終わりではありません。

先ほど追加したCocoaLumberjack.swiftはそのままだとエラーをはいてしまいますので、その対処をしないといけません。

具体的な対処は以下を参考にしました。

http://stackoverflow.com/questions/29647657/cocoalumberjack-2-0-0-compilation-errors-with-swift-1-2

まず、@autoclosureの書き方を直します。これはXcodeが書き直してくれるので、エラーボタンからReplace〜のメッセージを選択して修正してしまいます。

すると、今度は各SwiftLogMacro()の引数の最後にあるlogTextでエラーになると思います。

そこはlogText()と、後ろに()をつけるようにします。

これでビルドすれば成功しました。

最後に

まだまだSwiftはいろいろありますが、それでもすぐに問題を解決する人が現れるので、このスピード感は違うなと感じます。

 - Swift