【開発】Macアプリ「デジカメ撮影日を一括変更 for Mac」と「デジカメ変更日を撮影日に一括変更 for Mac」をVectorに申請


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



ちなみに画面レイアウトは次のような感じになりました。
各アプリの説明は別ページとします。

120408-0019.png

120408-0014.png


まあ、ウィンドウズなら当たり前にある機能のフリーウェアですが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で今回はじめてスレッドを使いました。

何はともあれ完成できてよかったです。
これら苦労した点はいずれはこのブログで紹介してみたいと思います。
情報は共有すべきですからね。


↓この記事が参考になったら拍手をクリックお願いします。今後のブログ作りに役立てたいので。
関連記事

コメントの投稿

非公開コメント

プロフィール

てぃー

Author:てぃー
詳しい自己紹介:こちら
Twitter:@teapipin


Instagram:@teapipin

follow us in feedly 
にほんブログ村 IT技術ブログへ にほんブログ村 PC家電ブログへ
現在の閲覧者数:

ブログ内検索
今日のアクセス数の多い記事
カレンダー

02月 | 2024年03月 | 04月
- - - - - 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31 - - - - - -
過去記事ダイジェスト
お知らせ
ツイッター分析の分析結果が引用された研究が学会賞を受賞!!


ツイッター分析の分析結果が新潟大学教育学部の論文に引用
教育の実証研究の場でも高く評価!

ツイッター分析の分析結果が和歌山大学防災研究教育センターの論文に引用
防災の研究において評価!

2015年版ツイッター分析(世界編)が始動!
今回は世界の国別・言語別ツイートを分析!

ツイッター分析の分析結果が慶應義塾大学有名教授の研究論文などに引用
文系の研究までも制覇!

Interval Timer EX
有名雑誌「Mac Fan 2015月2月号」に「インターバルタイマーEX」が3度目の掲載!ポモドーロテクニックに有効!

自作Macアプリ3部作が2014年 Vector 年間ダウンロードランキング Mac トップ100にすべてランクイン

TimeCalcを公開しています!
時間計算、年齢計算、学歴欄作成など。

ツイッター分析の分析結果が人工知能の研究に!
ブログが学会発表で引用されました。

今まで開発したiPhoneアプリのソースコードを公開しています!
勉強に役立ててください。


2013年 Vector 年間ダウンロードランキング Mac トップ100に「デジカメ変更日を撮影日に一括変更 for Mac」と「インターバルタイマーEX」がランクイン

Interval Timer EX
有名雑誌「Mac Fan 2013月4月号」に「インターバルタイマーEX」が2度目の掲載!!

リアルタイムツイッター地図
リアルタイムツイッター地図を公開しています!
位置情報付きツイートをリアルタイムに表示します。

新たなツイッター分析としてイベントツイート分析を行っています!

2012年8月1日(水)開催の「Twitter勉強会」で発表
ツイッター調査:約173万ツイートを調査して分かったTwitterの利用動向 #twtr_hack from teapipin


Interval Timer EX
有名雑誌「Mac Fan 2012月3月号」に「インターバルタイマーEX」が掲載!!



 

はてなブックマークの人気記事