8

Mac App Store の 3 月 1 日のサンドボックス要件に準拠するためにアプリをサンドボックス化することを検討しています。forkpty()私のアプリには、疑似 tty 環境でプロセスを起動するための呼び出しを利用する組み込みの端末エミュレーターが含まれています。残念ながら、この呼び出しはサンドボックスで「操作が許可されていません」というエラーで失敗しますが、fork()呼び出しは正常に機能します。おそらく、forkpty()呼び出しには、疑似 tty を作成するために /dev/ ディレクトリへの読み取り/書き込みアクセスが必要です (man ページによると)。/への読み取り/書き込みアクセス権を持つ一時的なサンドボックス資格(com.apple.security.temporary-exception.files.absolute-path.read-write)を追加しようとしましたが、実際にファイルのどこにでも読み書きできるようになりましたファイル システムを呼び出しますが、forkpty()呼び出しは同じエラーで失敗します。誰か私がどうやって手に入れるか知っていますかforkpty()サンドボックスの下で作業するには?

私のアプリは、組み込みのターミナル エミュレーターとファイル ブラウザーを備えたプログラミング テキスト エディターであるため、基本的にファイル システム全体にアクセスできる必要があります。問題は別としてforkpty()、この一時的な資格は私が必要とすることをしているようです。しかし、Apple は、このように大まかに定義された一時的な例外資格を持つアプリを受け入れるでしょうか?

よろしくお願いします。このサンドボックスを稼働させて、App Store を通じてアプリを配布し続けられることを心から願っています。

4

1 に答える 1

2

サンドボックス化されたアプリケーションに便利なターミナル エミュレーターを実装することは不可能です。PTY デバイスの資格を追加した後でも、シェルはアプリと同じサンドボックスに置かれ、多くのことを実行できなくなります。

于 2013-03-04T16:41:23.847 に答える