Mac アプリケーションの隠れた機能を見つける方法


OS X の Secret Terminal コマンド (FaceTime の自動承認機能を有効にします) は素晴らしいものですが、通常は誰かが Web 上に公開するまで隠されたままになります。ここでは、アプリケーションの隠れた機能を自分で見つける方法を説明します。

以下、許可を得て転載させていただきますCornDog Computers より

を発見した後、FaceTime AutoAcceptInvitesFromこの機能について、私がどのようにしてそれを行ったのか、また既存の Mac アプリケーションをどのように調べて文書化されていない機能を探索できるのかを何人かに尋ねられました。

Mac には「strings」と呼ばれる小さなコマンド ライン ツールが組み込まれており、これを使用するとバイナリ ファイルから任意の文字列 (テキスト) を取得できます。ターミナルを起動して次のようなことを行うだけです。

strings /Applications/MyCoolApplication.app/Contents/MacOS/MyCoolApplication

…そして、回復したすべての文字列が端末に溢れてしまいます。

ここからがすごいところです。コマンド ラインから実行することなく、これをさらに簡単にするために、任意のファイル上で実行できる Mac OS サービスを作成して文字列を取得し、TextEdit に直接ドロップすることができます。その方法は次のとおりです。

  1. Mac で Automator を開き、テンプレートを選択して新しいサービスを作成します。

  2. 「サービスは選択されたものを受信します」オプションを「ファイルまたはフォルダー」に設定します。

  3. 「in」オプションを「Finder」に設定します。

  4. 次に、「シェルスクリプトの実行」アクションを追加します。

  5. ドロップダウンメニューの「pass input:」を「as argument」に変更します。

  6. ウィンドウ内のすべてのテキストを削除し、文字列 "$1" に置き換えます。

  7. 次に、「TextEdit ドキュメントの内容を設定」アクションを追加します。

  8. 保存してください。 (私は「Get Strings」と名付けました)

画像をクリックすると詳しく見ることができます

ここで、Mac アプリケーションを右クリックし、「パッケージの内容を表示」オプションを選択し、「MacOS」という名前のフォルダーを開くと、そのプログラムの実行可能バイナリが表示されます。それを右クリックして、[文字列の取得] (またはサービスに付けた名前) を選択すると、新しい TextEdit ドキュメントが開き、そこにあるすべての文字列が表示されます。

好みの文字列を見つけたら、ターミナルでそれを少しいじる必要がある場合があります。これらの種類のコマンドに慣れている場合は、それが役に立ちます。一般に、ターミナル コマンドは次のような特定の構造に従います。defaults write com.apple.FaceTime AutoAcceptInvites -bool YESまたはNOブール値コマンドの場合。つまり、次のように入力します。defaults write、次に文字列テキスト ファイルの先頭の行 (この場合、com.apple.FaceTime)、文字列自体、次にオプションです。

非ブール機能はもう少し複雑になる可能性があります。例えば、AutoAcceptInvitesこれは、FaceTime がすべての着信を自動的に受け入れることを許可する、単なる「はい」または「いいえ」のオプションですが、AutoAcceptInvitesFrom追加する必要があります-array-add AppleID最後まで入力して、自動承認する特定のユーザーを指定します。少し遊んでみると、お気に入りの OS X アプリケーションに非常に優れた機能が散りばめられていることがわかるはずです。もちろん、それらを見つけたら、必ず私たちと共有してください。#ヒントスレッド、 あまりにも!

Rob "CornDog" Johnson は、個人のテクノロジー ブロガーであり、Mac 開発者です。CornDog コンピュータ