OS X 10.9.5 Mavericks & Yosemite以降、Gatekeeperがブロックするアプリの一覧を調べる方法です。詳細は以下から。
先日Appleが開発者向けにアナウンスした”v2 signatures”は「あなたのアプリを最新のOSで警告なしに使うにはOS X Mavericks 10.9以降のOSで再署名(v2 signatures)しなければなりません」というものでしたが、現在ユーザー(自分)が使用しているアプリの署名のバージョンを調べるScriptが公開されています。
![Changes-in-OSX-1095-and-Yosemite-Developer-Preview5](http://livedoor.blogimg.jp/applechinfo/imgs/d/a/da3cb7cf-s.jpg)
[Changes in OS X 10.9.5 and Yosemite Developer Preview 5]
アプリ署名のバージョン確認方
この方法はOS Xのcodesignコマンド(/usr/bin/codesign)を使用する方法で、 John BaffordさんのGitHubに投稿されています。実行するとアプリケーションディレクトリにあるアプリを抽出し(maxdepthで調べる階層の深さを指定)codesignコマンドで署名のバージョンを確認&表示してくれます。
![OS-X-change-gatekeeper-v2-signatures-check-script](http://livedoor.blogimg.jp/applechinfo/imgs/7/a/7a26ae14-s.png)
find /Applications ~/Applications -maxdepth 3 -name "*.app" | while read a ; do echo; echo -n "$a ___ "; codesign -vd "${a}" 2>&1 | awk '/version/ {print $3}'; done | awk -F'___' '{print $2 " " $1}' | sort -u
@landonfullerさんの様にGatekeeperにブロックされるアプリの数だけをカウントしたい場合はこちら。
![OS-X-change-gatekeeper-v2-signatures-count-script](http://livedoor.blogimg.jp/applechinfo/imgs/1/b/1bc89eb9-s.png)
find /Applications ~/Applications -maxdepth 3 -name "*.app" | while read a ; do echo; codesign -vd "${a}" 2>&1 | awk '/version/ {print $3}'; done | sort | uniq -c
v2 signaturesで無い場合どうなる?
TwitterやForumを見ると「何も知らない初心者ユーザーがMASから僕のアプリをダウンロードして”起動しないから星1つです!”てコメント入れられたらどうしよう…」という開発者の方がいるようで、v2 signaturesで署名されていない場合はOS XのGatekeeperがアプリをブロックするのでシステム環境設定.appの[セキュリティとプライバシー]でGatekeeperの設定を変えないと起動しません。
![OS-X-Yosemite-Gatekeeper-setting](http://livedoor.blogimg.jp/applechinfo/imgs/a/d/addb4c31-s.png)
また、現在リリースされているOS X 10.9.5 Mavericks(DP)やYosemite(DP5)では”v1 signatures”でもアプリがブロック無く起動してしまうので、チェックする方法は以下のDeveloper Forumsを参照して下さい。
関連リンク:
・Gatekeeper and Developer ID FAQ
・Testing version 2 code signatures on Yosemite DP5
コメント
開発者さんかわいそう(´・ω・`)
なんかそのうち、MSA以外のソフトは完全シャットアウトになりそうで怖いよね…
まあ、安全性って意味ではかなり高いレベルになるけどさ…
MacのJailBreakが捗るな