2016-12-14 6 views
0

私は現在、管理者ログインがダイアログボックスに入力されている場合にのみアプリケーションを開くようにしています。OSX Swiftアプリケーションで管理者ログインを要求するにはどうすればよいですか?

set adminLogin to do shell script "" with administrator privileges 
display dialog adminLogin 

これは私が好きなダイアログが表示され、私はそれを実行するためにNSTaskにこれを投げることができた:私は、次の方法の下でAppleScriptを使用してみました。私は出力をつかんでそれを使用してアプリケーションを閉じることができます。ifステートメント。

osascriptではなく実際のアプリケーションを使用して、管理者のログインが必要であることを言いたいと思っています。このscptファイルは、コンパイル、ビルド、これを作成しているすべてのクライアントに、作成後のこのファイルを再度追加する必要があります。それは、アプリケーションが保持しているのと同じプロセスを使用するのではなく、悪用される可能性がある迅速なログインのために、別のタスクに依存しているという点ではあまり効果的ではないようです。

アプリケーションを開くために管理者ログインをプログラムで要求する方法はありますか? CoreLocationを使用できますか?AuthorizationServices()を使用してこのタスクを実行できますか?

+0

ですか? –

+0

いいえ、@ElTomato、私はApp Storeにこれを提出する予定はありません。 – dylan

答えて

1

LocalAuthenticationフレームワークを見てください。 Touch ID認証とデバイスパスコード認証の両方を処理するポリシーはdeviceOwnerAuthenticationです。

LocalAuthentication Frameworkリファレンス:https://developer.apple.com/reference/localauthentication

deviceOwnerAuthentication:MacのApp Storeに提出したデスクトップアプリケーションのためにそれ https://developer.apple.com/reference/localauthentication/lapolicy/1514164-deviceownerauthentication

+0

これはiOSではなく、OSXアプリケーション向けです。新しいTouchbarからタッチIDを意味するなら、2015年のMacbook Airモデルを使用しています。 – dylan

+0

@dylan LocalAuthenticationフレームワークは10.10以降のmacOSでサポートされています。タッチIDとデバイスパスコードの両方をサポートしています。あなたのユーザーベースに最も適したポリシーを指定することはできますが。 –

関連する問題