アプリケーションのパスワードを削除しようとしています。私は使っています security delete-generic-password
コマンド。ターミナル経由で実行すると、すべてうまくいきます - パスワードは削除されます。
シェルスクリプトに同じコマンドを含めてXcodeで実行しても、パスワードは削除されません。問題は、 security
コマンドはrootパスワードを取得できません。
アンインストーラで削除しているので、実行する前にrootのパスワードを求めています。その後、私はこのスクリプトをXcodeプロジェクトを通して呼び出します。すでにrootパスワードを持っているので、sudoを使って次のようにcommandを実行します。
sudo security delete-generic-password password_name "/Library/Keychains/System.keychain"
私は願います sudo
アンインストーラで何かを実行する前にすでに認証しているので、内部的にrootパスワードを取得します。
このコマンドの戻りコードは何ですか?
—
Daniel Beck
ところで、あなたはいつでもあなたの投稿を編集して追加情報を提供することができます。以前に投稿された質問を削除し、本質的に同じものを再び投稿する必要はありません。
—
Daniel Beck
私は問題を特定しました。問題は、ターミナル経由でcommandを実行したときにパスワードを要求し、入力した後に正しい場合はkeychainを削除することです。しかし、スクリプトでそれを使用してXcodeプロジェクトで実行しようとしても、パスワードを要求するUIがないため、パスワードを取得できないため、削除できませんでした。パスワードを要求してからそのパスワードをセキュリティコマンドに渡す方法を教えてください。
—
chitnisprasanna
そして、私がコンソールをチェックインしたとき、このエラーをttyが存在せず、askpassプログラムも指定されていなかった。 TTY =不明です。 PWD = /; USER = root; ..
—
chitnisprasanna
それでは、このコードを実行する環境に問題があるため、詳細な説明は行っていません。助けが欲しいのなら、 詳しく説明する OS Xのインストーラーやアンインストーラーを書かなくても、他のユーザーがこの問題を最初から再現する方法。質問を編集して関連情報を追加してください。
—
Daniel Beck