Home > Archives > September 2008
September 2008
iPhoneアプリのアップデートでファイルが重複していた問題
- 2008-09-19 (Fri)
- Apple

iTunes8で修正されたようなので記事にしてみます。
iTunes7 + iPhone / iPod Touch でアプリケーションのアップデートをすると、ファイル名が重複してどんどん増えていってしまうという現象が起こっていました。
例えば、AppNameという名前のアプリケーションが今までに2回アップデートされていたとしたら、
最新版のファイル名が”AppName 2.ipa”、1つ昔が”AppName 1.ipa”、一番最初のファイルが”AppName.ipa”という名前で3つの異なるファイルが同時に存在してしまいます。
僕は、この”AppName 2.ipa”が最新版である、という点がもう気持ち悪くて我慢できないわけですが、みなさんいかがでしょうか?
/Users/ユーザ名/Music/iTunes/Mobile Applications
(ユーザディレクトリ→ミュージック→iTunes→Mobile Applications)
をチェックしてみてください!
今まで、こうしたファイル名の重複を回避するには、アップデートしたいアプリケーションを再インストール(アンインストールして同期した後、アプリケーションを削除、その後、アプリケーションをダウンロードし直して同期)という手順を踏む必要がありました。
#追記しますと、それをやると保存されていたデータは当然初期化され消えてしまいますし、一度よくわからないエラーに当たってしまったりもしました。。
かなり面倒です。正直言って、クソ仕様としか思えません。
しかし!今回、iTunes8になったことで、この問題は直されたようです。
iTunes8からは、アプリケーションのファイル名が、「アプリケーション名 バージョン.ipa」と変更になりました。これにより、先ほどの例で言うところの "AppName 2.ipa" が最新版、なんていうアホなことが回避できるようです。
[疑問に思うこと]
ファイル名が「アプリケーション名 バージョン.ipa」になったということは、前バージョンはそのまま削除されずに残るということでしょうか?
iTunes8にしてから2回アップデートをされた方ならわかると思いますが、僕はまだ1度しかやってないのでわかりません。
2回目のアップデートをしました。結果は、一番最新のバージョンしか残らないようです。古いバージョンはゴミ箱に自動的に移動されます。(取っておきたい場合はゴミ箱から取り出せばOK)※ただし前のバージョンに戻す方法を僕は知りません。
なにはともあれ、これが本来の姿のように思います。
- Comments: 0
- TrackBack (Close): -
CSV Touch を使う
- 2008-09-15 (Mon)
- Apple
CSV Touch(AppStore Link) を使おう。
CSV Touch の気に入った最大のポイントは、CSVファイルをキャッシュ(=ローカル保存)しておけるところです。
この機能があるおかげで、「CSVファイルをWeb上に置きっぱなしにしないこと」が実現できました。
Web上に置く場合も、CSV Touchがベーシック認証とFTPに対応しているので、ベーシック認証をかけたり、他の人が読み書き出来ないように権限を付けた上でFTPでアクセスしたりすることで安全性をある一定確保することができているように思います。
例: http://username:password@www.yourserver.com/yourfile.csv
(トラブルシューティングより)
日本語CSVファイルを扱う際には問題が1点あります。それはCSVファイル自体がUTF-8で保存してあることと、CSV Touch 側での設定を”UTF8”に合わせることです。手順としては、CSV Touch側の設定→CSVファイルダウンロード とする必要があります。この設定をする前にキャッシュしてしまったデータは一度削除する必要があります。

CSV Touch を起動して、PreferencesのDataの中にあるEncoding で UTF8を選ぶ
!!!画像 縦・横(後で追加) 画面例・横向き表示にも対応しています。

検索画面。日本語通ります。

簡単な操作で使用できます。
もし僕と同じように、ローカルにCSVファイルを永続的に置いておきたくない場合は、ファイルを削除した後「更新」のボタンは絶対押してはいけません!!w
それから、「設定」-「CSV Touch」の中にある、Alternative Parsingはオフのままで :-)
他の設定についてはこれから少しずつ勉強していきます。
先日、削除方法がわからなくて作者さんにメールで聞いてしまったのですが(今見るとトラブルシューティングのページに書いてある...) かなり素早く快く対応してくださったようで、大満足です。ありがとう作者さん。
iPhoneでCSVを持ち歩きたいと願っているみなさん、こいつはオススメです。
- Comments: 0
- TrackBack (Close): -
CSV Touch - iPhone で CSVファイルを持ち歩きたい!
- 2008-09-15 (Mon)
- Apple
CSV Touch(AppStore Link) 、これを使ったら解決できました。
先日、価格表をiPhoneの中に入れて持ち歩きたい!とtwitterでつぶやきつつ調べ始めました。
これはうちの会社の都合ですが、商品一覧表がcsv形式で取得できます。
やりたいことは、
- 価格表が全部ローカルファイルとして持ち歩けること(Web上に置きっぱなしにしないこと)
- 検索ができること
この2つです。
1番始めに考えたのは、「iPhone用のデータベースソフト iDB, Datamaster が使えないか?」ということ。
どうも調べていくと、定型のデータしか入らないような記述を発見したり、試すには価格がネックだったりとちょっと見送る方針で...
同じく価格の問題で、FM touchなんて論外でした。
意識としては、たかがcsvファイルを表示するだけなんだから!って感じです。。。(笑)
twitterにて助言をいただいたりしているうちに、どうもiPhoneのAppStoreはローカルファイルへのアクセスが厳しいらしい、というご意見を聞き、Webアプリ方面も考えるようになりました。
#この時点でもあくまでWeb上にCSV生データは置かない、という姿勢
そのため次に考えついたのは、「csvをデータベースに入れて、Webアプリのインターフェースを作って表示できないか?」ということでした。
これは、ajax,javascriptを使って実現できそうな気もしましたが、正直面倒でした。
javascriptが全然わかりませんっ。
PHPでの実現を考え始めたところで、検索ネ申様が現れました!
(神は途中、Air Sharing(google search)(AppStore Link) という贈り物もしてくださいましたこと、お付け加え申し上げます。)
こんな経緯がありまして、 CSV Touch というソフトを試し、CSVファイルが持ち歩けるようになったのでした。
ありがたやーありがたやー。
- Comments: 0
- TrackBack (Close): -
AppleScriptを使ってアプリケーションの手動起動スクリプト2
- 2008-09-15 (Mon)
- Apple
前回はとても単純なプログラムを作りました。
その時、「次に目指すこと」として、
- アプリケーション名を変数に持ってループ処理させる
- 起動したと同時に隠すなどしてデスクトップが表示されるようにする(バックグラウンドでの起動)
という2点を挙げておいたのですが、その2点が解決できたっぽいです。
●ループ処理
set apps_list to {"Safari", "Things", "Mail"}
repeat with apps in apps_list
tell application apps to launch
end repeat
これでOK.
●自動で隠す処理
これがいまいちうまくいかないことと速度から、最終的には見送ったのですが、一応調べたらあったのでご紹介。
うまく動かない理由は、(例えばMail.app...立ち上がってメールチェックをすぐ始めてしまうなど、)アプリケーションが自動的に何かをやり始めてしまうと、tellして語りかけても反応が返ってこないからかなぁとか漠然と思っています。
参考: Applescript Hide All / Show Desktop
tell application "System Events"
set activeProcesses to every process
repeat with processCounter from 1 to count activeProcesses
set thisProcess to item processCounter of activeProcesses
if visible of thisProcess is true then
set visible of thisProcess to false
else
set visible of thisProcess to true
end if
end repeat
end tell
しょぼいスクリプトでも、とりあえずやりたいことができたのでこれで完成!満足です。 :-)
- Comments: 0
- TrackBack (Close): -
AppleScriptを使ってアプリケーションの手動起動スクリプト。
- 2008-09-03 (Wed)
- Apple
ログインするのと同時にアプリケーションを起動させたい場合は、「システム環境設定」-「アカウント」にある「ログイン項目」にアプリケーションを登録してあげれば良いのですが、ログイン時には起動しないけれど、いつも使うアプリケーションを手動で起動させる、ということをやりたくなりました。
ログイン項目にTerminal.appを登録しているのでシェルスクリプトを用意しても良いのですが、ダブルクリックで起動したくなったので、AppleScriptでの実現を考えました。
AppleScript 初めまして!
と、意気込んでみたのですが、調べ方が悪かったのか、「アプリケーションを起動する」なんてのは超初歩的なコマンド過ぎてGoogle様にお伺いをたててみてもコレ!ってのが見つからず... orz
AppleScriptフォルダ内にある Example Scripts を参考にして作った処女作がこちら
tell application "Safari" to activate
tell application "Mail" to activate
tell application "Things" to activate
これを実行してみると、もう全然ダメ。いちいち起動するのを待ってしまうので使い物にならない。
助けてGoogle様っ!と泣きついてみると、activateの代わりにlaunchかrunを使えば良いとお教えくださいました。
というわけで、先ほどのactivateをすべてlaunchにしたら、解決。望み通りのものができました。
tell application "Safari" to launch
tell application "Mail" to launch
tell application "Things" to run
#ThingsはQuickSilver経由で起動した時、なぜかデータベースを再指定しなければならなくなってしまったりしたので、launchよりも上位と言われていたrunにしています。これで問題がでるならactivateにしないとダメかも。
最後にスクリプトをアプリケーションとして保存して、アイコンをInterfaceLIFTさんのThe Cityって中から頂いて終わりにしました。

バッグからアプリを取り出すイメージ :-)
次に目指すのは、
- アプリケーション名を変数に持ってループ処理させる
- 起動したと同時に隠すなどしてデスクトップが表示されるようにする(バックグラウンドでの起動)
です。
全然やり方がわからないのでどなたか教えてください。
- Comments: 0
- TrackBack (Close): -
iPhone 1ヶ月のパケ代(割引前)が確定しました。
- 2008-09-02 (Tue)
- Apple
9月になりました。
僕は8月前半からの参加ですので丸々1ヶ月ではないのですが、8月31日を迎え、パケット代が確定したので(誰かに向けて)ご報告いたします。

(画像はキャプチャした後編集しております。)
130,517円ですか。
普通に使ってこんな感じですね。YouTubeは3Gで使ってないし、NetShareも使ってません。下限に押さえるのは大変ですね。
なお、音声通話に10円ついているのは、間違って発信してしまった上に、切り忘れてTwitterrificを見ようとしてしまったためでした。キャプチャしなかったけどあったら良かったかな。
通話中に別の画面に行くと、上部に「通話中です」みたいな表示がされるのは親切ですね。その表示がなかったら留守番電話サービスに無言電話な嫌がらせをするところでした。
- Comments: 3
- TrackBack (Close): -
iPhone カレンダーが同期してくれない件
- 2008-09-01 (Mon)
- Apple
MobileMe経由で同期していたカレンダーが10日前の状態から同期してくれない、という問題が出ている事におととい気がつきました。
噂に違わぬ不安定なMobileMeめ! とか吠えて待っていても何の解決にもならなかったので解決すべくネット上の情報を漁っていると、Windowsで同じような状況の人や、「もう寝て待とうぜ」みたいな人とかたくさんいる様子。
色々触っているうちに解決できたので、ここに書いておきます。
解決策 : iPhoneのMobileMe設定で「カレンダー」を一度オフにした後再度オンにする
たったそれだけのことでした。
場所は、「設定」-「メール/連絡先/カレンダー」-「アカウントの"MobileMe(.Mac)"」です。

こんな画面が出てきますので、「カレンダー」をオン→オフしてみましょう。

オフにした瞬間、同期を停止して良いかの確認が現れるので、停止してしまいましょう。(もちろん自己責任ですよ!)
再度「オン」にした時、「カレンダーを使用する」とかいうメッセージが出てチェックがついていればOKです。
私はこれで直りました。
- Comments: 0
- TrackBack (Close): -