Pluginで改善した話モバイルファースト室の@y_310です。iOSアプリでオープンソースなライブラリを使う場合、サーバサイドアプリケーション以上にソフトウェアライセンスを意識する必要があります。多くのライブラリはMITライセンスや修正BSDライセンスで提供されていますが、それらのライブラリを使う場合、再配布時に元のライセンス条文を配布物のどこかに含めることが要求されています。言え、アプリケーションに含めたライブラリのライセンスを確認して確実に配布物に含めていく作業というのはどうしても漏れがちで手間なものです。そこでiOSで標準的に使われているパッケージ管理ツールであるCocoaPodsでは、ライブラリのインストール時に自動的に各ライブラリのライセンス表記を集約し1つのplistファイルにまとめてくれる機能を持っています。あとはこのファイルをSettings.bundleの中に移動すれば設定アプリの中にライセンスが表示されるようになります。この辺りのやり方についてはCocoaPodsのWikiに掲載されています。https://github.com/CocoaPods/CocoaPods/wiki/AcknowledgementsGitHubなどで公に公開されているライブラリのみを使用する場合はこれで終わりです。社内用のライブラリなど外部に公開していないものがPodfileに含まれている場合、それも自動的にこのファイルに含まれてしまうためあまり具合が良くありません。Pluginを作りました。このプラグインを使うと、plistファイルを生成する際に、ライセンス本文が指定した正規表現にマッチするライブラリを除外することができます。0.28から導入されたプラグイン機構で、podコマンドに機能追加ができるようになります。作り方の詳細はこちらのオフィシャルブログに書かれています。http://blog.cocoapods.org/CocoaPods-0.28/PluginのルールにそってRubyのgemを作るだけなので、Rubyに慣れている人であれば簡単に作ることができます。cocoapods-ack_filter設定まず、除外したいライブラリのpodspecを変更します。このtextに指定した文字列にマッチさせてライセンス表記を除外させます。...endPodfileに以下のpost_installブロックを追加し、正規表現と出力先のパスを適切に変更します。installするだけです。installこれで、outputに指定したパスにライセンスの記載が不要なライブラリを除外したplistファイルが出力されます。Pluginとして実装しているのでコマンドラインから実行することもできます。--output=OurApp/Settings.bundle/Acknowledgements.plist生成されたAcknowledgements.plistは変更管理できるようにリポジトリに含めておきましょう。まとめcocoapods-ack_filterを使うことでライセンス表示ファイルの生成を日常のワークフローの中で完全に自動化することが出来ました。セットアップも簡単なので新しいアプリに導入する際も少ない工数ですぐに導入できます。今回は、マイクロサービス...2018-02-28良い感じにログを収集するライブラリ、Puree-Swiftをリリースしましたこんにちは。技術部の松尾(@Kazu_cocoa)です。「関連する○○」機能を手軽に実現できる。使ったセキュリティログ検索基盤の構築サービス特性にあった検索システムの設計戦略クックパッド採用説明会「クックパッドはサービスの作り手を採用したいんです。/*}*/スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。