問題タブ [appstore-sandbox]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
objective-c - Mac サンドボックス アプリが他のアプリへのファイル アクセス許可を失う
現在サンドボックス化されているアプリを開発しています。これは、基本的なテキスト エディターとして機能します。最近、自分のアプリと別のアプリでファイルを同時に開き、一方のアプリで更新を行い、もう一方のアプリで更新を確認するとどうなるかをテストしたいと考えていました。Coda
またはBBEdit
を代替エディターとして使用しています。サンドボックスをオフにすると、この問題は発生しません。ただし、3 月 1 日からアプリのサンドボックス化が義務付けられているため、様子見ではなく解決策を実装したいと考えています。
両方のファイルを開いて自分のアプリで編集を行ってから、別のアプリに切り替えると、変更が反映され、それらのエディターは自分のアプリから保存したばかりのバージョンになります。ただし、彼らのアプリから保存してから私のアプリに移動するという逆の操作を実行すると、喜びはありません。アクションを何も実行しないと、コンソールは次の 2 つの特定のエラーdeny file-issue-extension
を報告します。deny file-write-data
. アプリでドキュメントを開いた後に外部エディターによって変更されたため、アプリはドキュメントを編集する権限を失っているようです。アプリでファイルを保存しようとすると、元のドキュメントにアクセスできなくなったため、ドキュメントを複製するよう求められます。これらのアプリはサンドボックス化されていないため、私のアプリにない権限があるため、これは逆には起こりません。また、この動作を望まない場合、他のアプリが変更を加えるのを防ぐことはできないようです.
developer.apple.com のドキュメントには、この種の状況については何も言及されていません。これが意図した動作かどうかはわかりません。そうである場合は、ドキュメントのアクセス許可が失われたため、新しいバージョンを保存するか、ファイルを再度開く必要があることをユーザーに伝えることができます。意図した動作ではない場合、NSDocument API のどのメソッドが、失われたファイルに許可を与えるでしょうか? 私は答えが前者であると仮定していますが、これは意図されたものですが、誰でも確認できますか?ドキュメントはありますか?
macos - Macサンドボックスアプリでファイルまたはフォルダーのリストを保持する方法は?
サンドボックス化されたアプリで以前に開いたファイルまたはフォルダーのリストを、それらを再度開いたり、独自のライブラリにコピーしたりせずに保持することは可能でしょうか?
前もって感謝します
macos - Mac App Storeサンドボックス-新しいファイルを作成しますか?
私はMacAppStoreに送信したいアプリで遊んでいますが、機能の一部は、ユーザーがドラッグまたは開くことで選択したファイルを取得し、そのファイルの変更を元のディレクトリと同じディレクトリに保存することです。ファイル(ただし、ファイル名は異なります)。
作成しているアプリケーションのユーティリティが破壊されるため、[保存]ダイアログボックスを使用したくありませんが、サンドボックスの要件の下で、アプリが書き込みを許可される唯一の方法のようです。新しいファイルとして、ディスク上の任意の場所(この場合は既存のファイルと同じフォルダにある任意の場所)にファイルします。
サンドボックスを無効にせずにこれにアプローチできる方法はありますか?また、エンタイトルメント/サンドボックスをオンにせずにアプリを送信した場合、Appleによって承認されますか(他のすべての要件を満たしていると仮定します)、またはサンドボックス化されていないアプリをすでに拒否していますか?
objective-c - サンドボックスとNSTask
Mac App Store に送信する前にアプリをサンドボックス化しようとしていますが、dmg ファイルを開く必要があります。以下を試してみましたが、Apple Sandbox で動作するかどうかわかりません。
フルパスを端末に貼り付けると機能しますが、アプリから実行すると次のエラーが発生します。
助けてくれてありがとう!S.
cocoa - NSTaskを使用したサンドボックス
サンドボックスを有効にして、NSTaskで/ sbin/pingを使用します。
すべてがうまく機能し、期待どおりの出力が得られます。
また、NSTaskで/ usr / sbin/tracerouteを使用したいと思います。
ただし、タスクは次のメッセージで終了します。NSTask:パス'/ usr / sbin / traceroute'のタスク作成に失敗しました:22、「引数が無効です」。一時的なプロセスを終了します。*同時にサンドボックスログ:deny forbidden-exec-sugid
pingでは機能するのにtracerouteでは機能しないのはなぜですか?そして、それをtracerouteで機能させるにはどうすればよいですか?
どうも!
objective-c - Mac アプリのサンドボックス化と forkpty()
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 を通じてアプリを配布し続けられることを心から願っています。
macos - サンドボックスなしでサンドボックスOSXアプリを実行するにはどうすればよいですか?
サンドボックスを使用して実行するアプリがあります。サンドボックスなしで実行するにはどうすればよいですか?サンドボックスをオフにしてアプリを再コンパイルすることはできないとします。
xcode - サンドボックスが有効になっているとアプリが読み込まれない
バンドル内から SQLite データベースとその他のデータ ファイルにアクセスするアプリがあります。それ以外には、ファイルシステム、ネットワーク、またはハードウェアへのアクセスはありません。エンタイトルメントをオンにしてアプリをサンドボックス化すると、アプリが起動しません。アプリが実行中であることを示す Xcode で再生を押しましたが、ウィンドウが表示されず、Xcode のデバッグ コンソールに出力が記録されません。
何が壊れているかを理解するにはどうすればよいですか?
objective-c - サンドボックス化された Mac アプリ用に Growl.framework を共同設計する方法
App Store で承認のために Mac アプリを送信しようとしていますが、Growl とリンクすると検証エラーが発生します。コマンド ラインから再コード デザインしようとしていますが、次のエラーが発生します。
フレームワークを再ダウンロードしようとしましたが、うまくいきませんでした。誰かが私が間違っていることを見ますか?
macos - Lionのサンドボックス化されたアプリで分散通知を送信するにはどうすればよいですか?
Lionでサンドボックス化しようとしたアプリケーションで分散通知を送信できません。取得中…</p>
…コンソール内system.log
。通知を許可するために追加できる資格はありますか。
それを行うことは可能ですか?もしそうなら、どのように?