- 作者:荻原 剛志
- 発売日: 2017/12/26
- メディア: 単行本
毎年、クリスマスの時期に出るんですね。
Swiftは、一年毎にバージョンアップされるし、
本書く人も、たいへんですよね。
そろそろ、仕様が安定してくれればいいけど。
ちなみに、自分は、3年前から、Swiftの新バージョンが出る度に、
買ってはやらず、買ってはやらずを、ずっと繰り返しています。
仕事がObjective-Cなので、するSwiftやりたいです。
毎年、クリスマスの時期に出るんですね。
Swiftは、一年毎にバージョンアップされるし、
本書く人も、たいへんですよね。
そろそろ、仕様が安定してくれればいいけど。
ちなみに、自分は、3年前から、Swiftの新バージョンが出る度に、
買ってはやらず、買ってはやらずを、ずっと繰り返しています。
仕事がObjective-Cなので、するSwiftやりたいです。
画像ファイルに埋め込まれているメタ情報の中に、XML形式で格納されたデータがあります。
ざっくり言えば、ExifのXML版でしょうか。
XMPというAdobeによって標準化されたフォーマットなんだそうです。
iOSアプリのための、このデータを扱うOSSのライブラリを探してみたところ、Adobe XMP Toolkit SDKというのがありましたので、組み込みんでみました。
詳細は、以下、githubを参照してください。
正直、スタティックライブラリを生成するまでは、付属のドキュメントに書かれていたので簡単でしたが、それをアプリに組み込むところについては、これといった情報も見つからず、苦労しました。
ところで、画像ファイルのメタ情報は、iOS SDKのCore Imageで読み書きできますが、メタ情報が完全じゃなかったり、画像自体が再エンコードされてしまうことは、ご存知でしょうか。
Core Imageを使用せずに、メタ情報を取得する方法の一つとして、Adobe XMP Toolkit SDKを候補にしてみてはいかがでしょうか。
尚、Adobe XMP Toolkit SDKは、Exifを取得できません。
Exifを取得するには、libExifというライブラリがあります。
さまざまなOSのディストリビューションに組み込まれて、なかなか枯れたライブラリです。
私が動作確認した結果、iOSにアプリに組み込めるのですが、Exifを書きこむと、XMP情報が削除されてしまう問題が発覚しました。
どうことかというと、XMPもExifも、JPEGファイル上のAPP1というレイヤーに属しています。
これが変な話しで、XMPとExifの両方がある場合、APP1のレイヤが2つだぶった状態になるのです。
libExifは、APP1が1つのみという思想でつくられいるため、XMP情報が書き込まれているAPP1は削除され、Exifが書き込まれているAPP1が残るという現象が発生してしまいました。(もう頭が痛くなってきましたね。)
libExifは、いまはもう、メンテされていないようなので、今後、改善されることはないでしょう。
そんななか、救世主となるのが、Exiv2 というライブラリです。
これが実は、私の大本命だったです。
でも、iOSアプリに組み込む方法がわからなかった。教えてくれぇ。。。
現場で役立つシステム設計の原則 ~変更を楽で安全にするオブジェクト指向の実践技法
増田さんは、あの難解なDDDを実践しているということで、
以前から、尊敬していたエンジニアの一人です。
勉強会に参加できませんでしたので、スライドシェアをずっと見てました。
増田 亨, ソフトウェアシステムの設計・構築 at システム設計 | SlideShare
もちろん書籍も予約しました。
増田さん以外にも、DDDに取り組んでいる方は、いらしゃいます。
かとじゅんさんであったり、
都元ダイスケさんであったり、(僕は、昔、都元さんのhatena blogの読者でした。)
http://sssslide.com/www.slideshare.net/daisuke_msssslide.com
僕には、まだ雲の上の存在ですが、アーキテクチャを考えるとき、参考にさせて頂いてます。