【開発】Macアプリ「デジカメ撮影日を一括変更 for Mac」と「デジカメ変更日を撮影日に一括変更 for Mac」をVectorに申請
2012-04-08 (日) 19:13 開発
2月27日からちょっとずつ作成していたMacアプリ「デジカメ撮影日を一括変更 for Mac」と「デジカメ変更日を撮影日に一括変更 for Mac」の2つを先ほどVectorに申請しました。
ただ、Vectorに公開されるまでしばらく時間がかかるので次のところに同じファイルを置きました。
Vectorに公開されるまではこちらをお使いください。(4月15日まで利用できます。)
デジカメ撮影日を一括変更 for Mac(ファイル名:ExifDateChanger.zip)
http://kie.nu/7sI
デジカメ変更日を撮影日に一括変更 for Mac(ファイル名:FileModiDate_ExifDate.zip)
http://kie.nu/7sH
ちなみに画面レイアウトは次のような感じになりました。
各アプリの説明は別ページとします。


まあ、ウィンドウズなら当たり前にある機能のフリーウェアですがMacだとほとんどありませんね。
あってもIntel Macに非対応だったり、時差の設定はできても日数の設定ができなかったりで。
iPhoneが流行ってウィンドウズからMacに移行してきた人が思うのは“Macはフリーソフトが少ない”ということらしいです。
てぃーはMac歴は2001年11月からと長いですがウィンドウズがメインなのでMacのフリーソフトの少なさはは気づいていましたが、ウィンドウズで処理していたので困らなかったです。
Macアプリを作るようになってMacメインの人はどうやっていろいろな処理をしているのかと逆に気になってしまいました。
苦労した点
cocoaでExifをいじるための方法は意外にいろいろなページで紹介されており、それほど習得には時間はかかりませんでした。
しかしそれでも時間がかかったのは次のような点です。
cocoaやObjective-Cの情報不足のため無駄にデバッグ作業をしてしまっていました。
moveItemAtPath、copyItemAtPathはファイルが既に存在してる場合は自動で上書きしてくれないわ、あるいはエラーを返してくれないわで。上書きされないままだったのに気づかなかったり。
ファイルが既に存在する場合はremoveItemAtPathで削除してから使うようにしようとしてから、removeItemAtPathはパスが存在しなくてもエラーにならないことが分かり結局そのまま使うことに。
CGImageSourceCreateWithURLは、URLに日本語を含む場合うまくイメージファイルの情報を取得してくれませんでした。そのため日本語を含まないパスにいったんコピーしてから使うことで回避しました。これによりアプリの実行速度がや低下することになりましたが仕方ないでしょう。
ウィンドウ上の各コンポーネントを一括して無効化などの処理をする方法が分かりませんでした。特にNSBox上にあるコンポーネントを無効化する場合、コンテナであるNSBoxを無効化すればできると思っていましたが実際はできなかったです。そのためすべてのコンポートを手書きで操作することにしました。Visual BasicやVisual C#ならコンテナを操作することで簡単にできるのですが残念。
実行中に中止できるように実行自体をNSThreadで別スレッドに渡しでメインのスレッドで中止ボタンのクリックを受け取るようにしました。iPhoneアプリ開発ではスレッドはやったことがなかったので Objective-Cで今回はじめてスレッドを使いました。
何はともあれ完成できてよかったです。
これら苦労した点はいずれはこのブログで紹介してみたいと思います。
情報は共有すべきですからね。
↓この記事が参考になったら拍手をクリックお願いします。今後のブログ作りに役立てたいので。
- 関連記事
-
- 【開発環境】今さらだけど押さえておくぜ!「VOCALOID2 キャラクターボーカルシリーズ01 初音ミク HATSUNE MIKU」を購入 (2012/04/14)
- 【開発】Vectorに申請していたMacアプリ「デジカメ撮影日を一括変更 for Mac」と「デジカメ変更日を撮影日に一括変更 for Mac」が公開 (2012/04/10)
- 【開発】Macアプリ「デジカメ撮影日を一括変更 for Mac」と「デジカメ変更日を撮影日に一括変更 for Mac」をVectorに申請 (2012/04/08)
- 【開発】自作Macアプリ「デジカメの作成日更新日を撮影日に一括変換」と「デジカメ撮影日一括変換」の進捗 (2012/03/22)
- 【開発】iPhoneアプリ「学歴欄作成」をApp Storeから一時的に公開を停止に(実際は削除) (2012/03/01)