iPhoneアプリの開発中に、Xcodeと接続していない状態でデバッグするため、なんらかのログを残したい場合があったりすると思います。僕は今、GPSがらみのアプリを作っていることもあり、iPhoneを持って外に出てアプリの動作を確認したりしています。そんなときに役にたったライブラリ「CocoaLumberjack」を試してみました。Swift環境へのセットアップをMEMOしておきます。
セットアップからログ出力まで
CocoaPodsでライブラリをインストールします。Swift環境で使いたい場合「CocoaLumberjack」の後に「/swift」が必要なようです。CocoaPodsのセットアップについては、「CocoaPodsのセットアップ〜SDWebImageの使用準備までのログ」のMEMOをご参考に。
profileに
pod 'CocoaLumberjack/Swift'
と記述し、
pod install
または、pod update
を。
Xcodeでそのプロジェクトを開き、AppDelegate.swift にまず、
import CocoaLumberjack
を。そして、 didFinishLaunchingWithOptions 内などに
と記述。あとは、このライブラリを利用するクラスで
import CocoaLumberjack
としておいて、ログを出力したい箇所で
DDLogDebug("-- LOG --")
とすることで、iPhone実機内にファイルとしてログが出力されます。
ログの確認
iPhone実機内に出力されたログは、実機内の
/Library/Caches/Logs
に出力されています。このログを確認するのに、僕の場合は、iExploreというiPhone実機内のファイルを覗けるアプリを使ってみました。 CocoaLumberjackでログを出力したアプリのキャッシュフォルダを見てみると「Logs」というディレクトリにたくさんのログが残されていることが確認できました。
クラスメソッドさんの記事「LumberjackConsoleでどこでもログを確認できるようにする!」によると「LumberjackConsole」なるもので、さらに実機画面上でデバッグできるようですが、Swiftに未対応なのか、セットアップを試みたものの正しく動作できませんでした。また、とりあえず、ログが出せればよしということで。
アプリ開発中だけ使うようにするといいと思います。
東京造形大学卒業後、マクロメディア(現アドビ)に入社。QAやテクニカルサポートマネージャーとしてFlash、DreamweaverなどのWeb製品を担当。独立後、2007年に虫カゴデザインスタジオ株式会社を設立。2021年東京三鷹を拠点に。最近は、Unity, Unity Netcode for GameObjects, CakePHP, Laravel, ZBrush, Modo, Adobe Substance 3D, Adobe Firefly, Xcode, Apple Vision Pro, Firebaseにフォーカスしています。モバイルアプリ開発情報を主としたブログ「MUSHIKAGO APPS MEMO」の中の人。