OSXの最近のブログ記事

写真.appが使えるようになって早速iPhotoから移行しようとしたのですができなくてしばらくハマったので書いときます。

私のMacBookはSSD 256GBしかないので写真は外付けHDDに置いてます。

写真.appを初期起動時に特に何も聞かれずに空の状態で起動してしまったので、そのせいだろうとネットを検索してみると、案の定外付けHDDの場合はOptionを押しながら写真.appを起動して、iPhoto Libraryフォルダを選択しないと行けないようです。

これでイケソウだなとやってみると...ファイル選択ダイアログでiPhoto Libraryフォルダが選択可能になってくれない。

ネットで検索し続けるもそれに対する解決方法が全く見つからず、全てOption押しながらアプリ起動しろとしか書いていない。

不満も特にないし諦めてiPhotoを使い続けようかな、と思い始めたのですが、ネット上のiPhoto Libraryを選びなおしているスクリーンショットをよく見てみるとフォルダにアイコンが付いている事に気付きました。よく見ると.photolibraryって拡張子も付いている。

まさかとは思った(iPhotoは普通にこのフォルダをダブルクリックしても起動するので)がiPhoto Library.photolibraryと拡張子をつけてみるとアイコンが付いた!

期待を込めて写真.appをOption押しながら起動してみると無事選択することができました。ε-(´∀`*)ホッ

まとめ

写真.appで移行元のiPhoto Libraryフォルダが選べない場合は、iPhoto Libraryフォルダに拡張子.photolibraryを付けてみて下さい( ˘ω˘)

ブログ全然書いてないので小粒ネタ放流しとく(・ω・)

アルバムを使うiOSのアプリを作っていると、色んなバリエーションのある程度の枚数の写真がアルバムに入っている状態じゃないと効率が悪いです。

最も簡単な方法はiOS SimulatorのSafariで写真共有サイトを巡って、表示している画像を長押しして「画像を保存」です。

iOS%E3%82%B7%E3%83%9F%E3%83%A5%E3%83%AC%E3%83%BC%E3%82%BF%20-%20iPhone%20Retina%20(4-inch)%20/%20iOS%207.0%20(11A465)
Uploaded with Skitch!

しかしネット上の他人の画像を使ってうっかりどこかにアップロードするなどミスも怖いので、自分の写真を使いたい。

もちろん自分の写真を写真共有サイトや自由になるWEBサーバにアップロードすれば同じことができますけど、イメージファイル自体は手元にあるのに面倒です。

イメージをドラッグしててたまたま見つけたんですが、iOS SimulatorはOSX上のファイルをドロップすると反応します!

%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202013/09/21%2019:19
Uploaded with Skitch!

Skitchでスクリーンショットを取ったのですが(+)アイコンが消えてしまって反応しているの分からなくて残念(´・ω・`)

このままドロップするとSafariでfile://でOSXローカルのファイルが表示されます。

あとは画像を長押しして保存するだけ。

新しく来た開発マシン(OSX Mountain Lionになった)に開発環境を構築しようとしたらGemfileに指定されているRMagickのバージョン2.13.1に対応するImageMagick 6.7.7-6がなぜかHomebrewでエラーとなり入らなかったので、良い機会だと(これを書いた当時)最新のRMagick 2.13.2、ImageMagick 6.8.6-3に変えてみました。

新開発機ではテストは綺麗に通って問題なく動いたのでステージング環境でも同じバージョンのImageMagickを更新してデプロイしてみたところJenkinsさんが定期実行しているテストがコケまくり( ゚д゚)

あろうことかすべてのテストがこけている。RMagickがImageMagickのライブラリが見つけられず起動すらしていない有り様でした。

どうやらOSXの環境では最新の組み合わせで実行可能なようですが、まだすべてのプラットフォームで動くわけではなさそう。

時期尚早ということで以前から使っているバージョンの組み合わせに戻して、新開発機の方を対応させることにしました。新開発機にImageMagick 6.7.7-6をどうにかして入れられればひとまずやり過ごせる。

なぜ入らなかったのか確かめるためにHomebrewのコマンド出力をverboseにして実行します。

この辺りは少し前に書いたHomebrewで複数のバージョンのパッケージをインストールして使い分けるを参照していただけると何をやっているかわかると思います。

$ cd $(brew --prefix) 
$ brew unlink imagemagick
$ brew versions imagemagick
6.8.6-3  git checkout 870d5e9 /usr/local/Library/Formula/imagemagick.rb
6.8.0-10 git checkout 321b293 /usr/local/Library/Formula/imagemagick.rb
6.7.7-6  git checkout 7d951fb /usr/local/Library/Formula/imagemagick.rb
  :
$ git checkout 7d951fb /usr/local/Library/Formula/imagemagick.rb
$ brew -v install imagemagick
  :

しばらく待ってるとエラーで終了。

  :
brew: superenv removed: -L/usr/X11/lib -O2
brew: superenv removed: -g -O2 -Wall
ld: library not found for -lXext
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [magick/libMagickCore.la] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [install] Error 2
  :

どやらX11のライブラリlibXextが見つからないようです。ただ、/usr/X11/libを確認してもちゃんと存在します。

ここで、少し前の行に表示されている見慣れないbrew: superenv removed...という行に気付きました。

homebrew superenvでググってみたところ、こちらのQiitaの記事「Homebrew の superenv」を発見。

実行時の環境変数 PATH は無視され、Homebrew によって再構築される
...
コマンド実行時に --env=std オプションをつけることで superenv を回避可能
...
ニッチなツールをインストールするために自分で Formula を書くとか、だいぶ昔に書かれた野良 Formula を使うときとか、そういう時に影響がでそうな話。

これじゃないっすか〜

$ brew install imagemagick --env=std

するっと入ったヽ(´ー`)ノ

Mac OSXでウィンドウの位置とサイズを復元

MacBookで通常は外部ディスプレイを使っていて、会議の時に外して内蔵ディスプレイを使うシチュエーションがよくあります。

また、勉強会などで発表するときはプロジェクタにつなぎますね。

そういう時に、いつも使うディスプレイでのウィンドウの位置とサイズが変更されていて、もとに戻すのが面倒だと思うことがよくあります。

いつもの状態を覚えておいてくれるツールを探してみました。

Stay

切り替えた後にいつも作業しているディスプレイを再接続すると自動でストアした状態にリストアしてくれます。

内蔵ディスプレイで作業している時にウィンドウのサイズや位置を変更していたとしても、ストアした状態に完全に復元されるのでかなり便利。

ストアは今使っているディスプレイの組み合わせ単位で覚えるため、

  • 外部ディスプレイと内蔵ディスプレイを使っている
  • 内蔵ディスプレイのみを使っている
  • プロジェクタと内蔵ディスプレイを使っている

という状態毎に覚えます。

ただし$15の有料ツールです。30日間おためし期間がありますのでその間に使い勝手を確かめてみてください。

Forget-Me-Not

システム環境設定内にインストールされます。

Stayと違ってストア作業を自分でする必要はなく、ウィンドウを移動した時などに自動で覚えるようです。

ただディスプレイの接続状態を変えてからウィンドウを動かすと、その位置を覚えてしまい戻した時に完全に同じ位置とサイズを復元できないように見えます。

こちらはソースコードも公開されている無料ツールですが「10分以内にお電話をいただければ、なんと!!無料で!!ご提供できちゃうんです!いまならソースコードまでついてるお買い得ですよ!!」だそうです(笑)気に入ったらDonateしてはいかがでしょうか。

ソースコードが公開されているということは、改良して貢献もできますね。

まとめ

  • Stayはほぼ期待通りの動き。$15の有料ツール。
  • Forget-Me-Notは復元されたあとに少し手動で微調整が必要。無料ツール。

さて私はというと、微調整をするくらいならツール無しで自力でもいいなと思ったのでStayを導入することにしました。

Mac OS Xファイル選択ダイアログの知ってると捗るTips

知っていると格段に捗るMac OSXのファイル選択ダイアログのTipsを紹介します。

以降でのディレクトリと言っているのはフォルダの事です。私はUnix育ちなのでディレクトリの方がしっくりくるので...

選択しているファイルの確認がスペースでできる

ブログを書いていて、アップロードする写真を選択しているときなど、ファイル選択ダイアログから写真自体を確認したときが良くあります。

OSXのFinderやファイル選択ダイアログのアイコン表示はかなり小さいので似ている画像が複数ある場合、分かりにくいです。

そんな場合、確認したいファイルを選択状態にしてスペースキーを押すと画像をポップアップで大きく表示してくれます。

この機能はファイル選択ダイアログだけでなくFinder全般で使えますし、画像意外にもPDFやエクセルを含むスプレッドシートやワープロ系ドキュメントなど非常に多くのファイルフォーマットに対応しています。

アプリを起動して確認するのに比べて高速なのも使い勝手の良い点です。

パス指定で入力できる

ファイル選択ダイアログが表示されている状態でCommand+Shift+Gを押すと1行入力がポップアップします。ここにファイルパスを入力することによって直接ファイルやディレクトリを指定することができます。

ディレクトリを指定するとそのディレクトリを開いた状態に、ファイルを指定するとそのファイルが格納されているディレクトリを開いて、指定したファイルを選択状態にします。

ディレクトリを辿って指定しづらいファイルを、Terminalなどからコピーしたパス文字列で指定できて非常に便利です。

非表示ファイルを表示できる

デフォルトではドット"."で始まる隠しファイルや、/usrディレクトリなどのシステムファイルはファイル選択ダイアログでは表示されません。

システム全体で隠しファイルを表示状態にすることもできますが、ごちゃごちゃするので普通の時は隠しておいて、必要なときだけ表示したい。

上記のスクリーンショットの状態でCommand+Shift+.を押すと次のように一時的にずらっと非表示ファイルが表示されて指定できます。

現在開いているディレクトリをFinderで表示できる

ファイルを指定しようとして何かのアプリからファイル選択ダイアログを開いているわけですが、ちょっとそのディレクトリをFinderで作業したいという事がたまにあります。

そういうときはCommand+Rを押します。

表示しているディレクトリが選択状態でFinderを開いてくれます。

Finderからドラッグ&ドロップできる

すでにFinderでは開いているのに、アプリから表示されたファイル選択ダイアログは全く違う場所にいる場合、ディレクトリを辿って指定するのは面倒です。

そんな場合はFinderからファイル選択ダイアログにファイルやディレクトリをドラッグ&ドロップできます。

ディレクトリをファイル選択ダイアログにドロップすると、そのディレクトリに移動します。

ファイルをファイル選択ダイアログにドロップすると、そのファイルが格納されているディレクトリに移動して、ファイルを選択状態にしてくれます。

まとめ

  • 選択しているファイルの確認がスペースでできる
  • パス指定で入力できる
  • 非表示ファイルを表示できる
  • Finderからドラッグ&ドロップできる

知ってれば少し便利になる機能なので活用してください。

Mac OSX EvernoteでMarkdownを書いてMarkedでプレビューする

Evernoteは思い付いたことをメモしておくインフラとして重宝していますが、標準のマークアップがイケてない上に、プレインテキストでもないためどうにも扱いが難しいです。プレインテキストで全プラットフォーム対応のメモアプリ作ったら結構、需要あるんじゃないかと思うくらい(笑)

今回はその話ではなくて少しでもEvernote.appを使いやすくするためのTipsとなります。

Evernote.appを使った表示・編集がいささかイケてないマークアップなのはもう諦めて、ほぼプレインテキストでも可読性が高いMarkdownで書いておくことにします。

特別な修飾をせずにMarkdownでノートを書き、書きながらプレビューする方法がないか探してみたところ、こちらを発見した次第です。

Marked Bonus Pack (scripts, commands and bundles)

サイトのWatchers>Evernoteというところにeverwatch.rbを起動しておくと最新のノートをMarkedでプレビューして確認できるということが書いてある。

これは捗りそうとダウンロードしてきて試してみましたが動きません...

短いRubyプログラムなので中をみてみると、

と書いてあるのですが、ここをlsしてもNo such file or directoryである。

おそらく先日のEvernote.appのメジャーバージョンアップでデータのローカルでの格納場所が変わってしまったのでしょう。

ここを修正するだけで済むなら簡単なので、Googleで今の場所を探すために検索してたらメンテされている版がGitHub上に見つかりました。

GitHub spetschu / everwatch

起動する前に、ローカルデータの格納場所のパスにEvernoteのユーザ名が含まれていてスクリプトを編集する必要があります。

こうなっている行です。

youraccountをEvernoteユーザ名に変更すれば動くのですが、直接埋め込むのはちょっと気持ち悪いので少し改造しました。

GitHub iwazer / everwatch

最初のコマンドラインオプションとして、もしくはEVERWATCH_ACCOUNT環境変数としてEvernoteアカウント名を指定するか、Mac OSXのユーザIDがEvernoteアカウント名と同じであれば、何も指定しなくてもパスを生成できるようにしました。

また、オリジナルではMarkedがすでに起動している状態ですとプレビュー用のファイルを開けなかったのを修正してあります。

README.mdに追記しておいたとおりスクリプトを起動するだけで使えます。

やってみると思いの外、快適でして、このエントリーもEvernote+Markedで下書きしております。

スクリーンショット 2013-05-28 11.25.20.png

新しいRailsアプリを作りたくてRMagickをインストールしようとしたらImageMagickが見つからないと怒られた。

経験上これは使おうとしたRMagickのバージョン2.13.2に対してインストールされているImageMagickのバージョンが古い時になる。おそらく新しいImageMagickをHomebrewで入れてあげればうまくいくはず。

Install Specific Version of Tool With Home Brew にやり方が載っていました。

まずはHomebrewが認識しているパッケージを最新に更新します。

$ cd$(brew --prefix)
$ brew update

現在は6.7.7-6がインストールされているのですがはたして...

$ brew versions imagemagick
6.8.0-10 git checkout 45a4978 Library/Formula/imagemagick.rb
6.7.7-6 git checkout 834ce4a Library/Formula/imagemagick.rb
6.7.5-7 git checkout f965101 Library/Formula/imagemagick.rb
  :

より新しい6.8.0-10が登録されています。

先程のversionsでリストされた対象バージョンのgitコマンドを実行するとインストールできるようになります。

$ git checkout 45a4978 Library/Formula/imagemagick.rb
$ brew install imagemagick
Error: imagemagick-6.7.7-6 already installed
To install this version, first `brew unlink imagemagick'

あら?エラー。6.7.7-6があるのでインストール先からunlinkするように言われています。

$ brew unlink imagemagick
Unlinking /usr/local/Cellar/imagemagick/6.7.7-6... 65 links removed

再びインストール実行。

$ brew install imagemagick
==> Installing imagemagick dependency: freetype
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/freetype-2.4.11.mountain_lion.bottle
######################################################################## 100.0%
==> Pouring freetype-2.4.11.mountain_lion.bottle.tar.gz
   /usr/local/Cellar/freetype/2.4.11: 57 files, 2.5M
==> Installing imagemagick
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/imagemagick-6.8.0-10.mountainlion.bo
Already downloaded: /Library/Caches/Homebrew/imagemagick-6.8.0-10.mountainlion.bottle.tar.gz
==> Pouring imagemagick-6.8.0-10.mountainlion.bottle.tar.gz
   /usr/local/Cellar/imagemagick/6.8.0-10: 1422 files, 45M

無事インストールされました。確認してみます。

$ brew list imagemagick
/usr/local/Cellar/imagemagick/6.8.0-10/bin/Wand-config
/usr/local/Cellar/imagemagick/6.8.0-10/bin/stream
 :

さて、新しく作るアプリはこれでいいとして、既存のをメンテしたくなったらどうするの?という疑問が浮かびますね。そちらのRMagickもバージョンアップするというのも手ですが依存ライブラリの関係上難しいこともあるでしょう。

そんなときのためにHomebrewでインストールされているパッケージはバージョンを切り替えることができます。

$ brew switch imagemagick 6.7.7-6
Cleaning /usr/local/Cellar/imagemagick/6.7.7-6
Cleaning /usr/local/Cellar/imagemagick/6.8.0-10
65 links created for /usr/local/Cellar/imagemagick/6.7.7-6

これで、前のバージョンが使えるようになりました。戻すのも同様にbrew switch <package name> <version>ですよ。

「この製品のディストリビューションファイルを検証できませんでした。破損しているか、署名されていない可能性があります。」と言われてLionのAppStoreでとあるアプリが更新できなくなりました。OSは10.7.4 Lionです。

検索してみると以前から程良く発生しているにもかかわらず、これをやれば直るという解決策も見つかってはいないようです。

これは海外の情報を探すしかあるまいと考え「app store distribution file」とかいう幼稚なキーワードで検索をかけると、それらしいのがありました。

http://support.agilebits.com/discussions/1password-in-mac-app-store/18-1password-wont-install-from-app-store-with-error-the-product-distribution-file-could-not-be-verified

しかしイマイチ要領を得ない...

ただし/var/foldersに秘密があることだけは分かりました。Terminalを起動して

cd /var/folders
sudo find . -name '∗appstore∗' -print

とか無邪気にやってみると、おや?

./n4/k16s02wn0yj24r377jq8v3s00000gn/C/com.apple.appstore/...

/varだし消しちゃっていいかしら(・∀・)

sudo rm -rf n4/k16s02wn0yj24r377jq8v3s00000gn/C/com.apple.appstore/

恐る恐るAppStoreを立ち上げて問題のあったアプリをアップデートしてみると、Apple IDの認証ダイアログが表示されID/パスワードを入力したら出来た!!

同じ症状でお困りの方がいらっしゃれば、どうぞ自己責任でやってみてください。

このアーカイブについて

このページには、過去に書かれたブログ記事のうちOSXカテゴリに属しているものが含まれています。

前のカテゴリはopencvです。

次のカテゴリはPCです。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。