詳解 Swift(第4版)が出そう

詳解 Swift 第4版

詳解 Swift 第4版

毎年、クリスマスの時期に出るんですね。

Swiftは、一年毎にバージョンアップされるし、
本書く人も、たいへんですよね。
そろそろ、仕様が安定してくれればいいけど。

ちなみに、自分は、3年前から、Swiftの新バージョンが出る度に、
買ってはやらず、買ってはやらずを、ずっと繰り返しています。

仕事がObjective-Cなので、するSwiftやりたいです。

Adobe XMP Toolkit SDKをiOSアプリに組み込んでみた

画像ファイルに埋め込まれているメタ情報の中に、XML形式で格納されたデータがあります。
ざっくり言えば、ExifXML版でしょうか。
XMPというAdobeによって標準化されたフォーマットなんだそうです。

iOSアプリのための、このデータを扱うOSSのライブラリを探してみたところ、Adobe XMP Toolkit SDKというのがありましたので、組み込みんでみました。

詳細は、以下、githubを参照してください。

github.com

正直、スタティックライブラリを生成するまでは、付属のドキュメントに書かれていたので簡単でしたが、それをアプリに組み込むところについては、これといった情報も見つからず、苦労しました。

ところで、画像ファイルのメタ情報は、iOS SDKCore Imageで読み書きできますが、メタ情報が完全じゃなかったり、画像自体が再エンコードされてしまうことは、ご存知でしょうか。

Core Imageを使用せずに、メタ情報を取得する方法の一つとして、Adobe XMP Toolkit SDKを候補にしてみてはいかがでしょうか。

尚、Adobe XMP Toolkit SDKは、Exifを取得できません。

Exifを取得するには、libExifというライブラリがあります。
さまざまなOSのディストリビューションに組み込まれて、なかなか枯れたライブラリです。

GitHub - ryu1/iOS-LibExif

私が動作確認した結果、iOSにアプリに組み込めるのですが、Exifを書きこむと、XMP情報が削除されてしまう問題が発覚しました。

どうことかというと、XMPExifも、JPEGファイル上のAPP1というレイヤーに属しています。
これが変な話しで、XMPExifの両方がある場合、APP1のレイヤが2つだぶった状態になるのです。
libExifは、APP1が1つのみという思想でつくられいるため、XMP情報が書き込まれているAPP1は削除され、Exifが書き込まれているAPP1が残るという現象が発生してしまいました。(もう頭が痛くなってきましたね。)

libExifは、いまはもう、メンテされていないようなので、今後、改善されることはないでしょう。

そんななか、救世主となるのが、Exiv2 というライブラリです。

www.exiv2.org

ExifXMPの両方に対応しているスグレモノです。

これが実は、私の大本命だったです。

でも、iOSアプリに組み込む方法がわからなかった。教えてくれぇ。。。

増田 亨さんが待望の書籍化


増田さんは、あの難解なDDDを実践しているということで、
以前から、尊敬していたエンジニアの一人です。

勉強会に参加できませんでしたので、スライドシェアをずっと見てました。

増田 亨, ソフトウェアシステムの設計・構築 at システム設計 | SlideShare

もちろん書籍も予約しました。


増田さん以外にも、DDDに取り組んでいる方は、いらしゃいます。


かとじゅんさんであったり、

blog.j5ik2o.me


都元ダイスケさんであったり、(僕は、昔、都元さんのhatena blogの読者でした。)

http://sssslide.com/www.slideshare.net/daisuke_msssslide.com


僕には、まだ雲の上の存在ですが、アーキテクチャを考えるとき、参考にさせて頂いてます。