Mac Appstore用にサンドボックス化されたFiremonkeyアプリケーションのTOpenDialogに問題があるようです。私はXE3を使用しますが、XE2にも存在します。 は、私は実際にここにQCレポートを見つけましたが、それはまだ未解決です:TOpenDialog/NSOpenPanelがサンドボックス化されたDelphiアプリケーションで動作しない
http://qc.embarcadero.com/wc/qcmain.aspx?d=105344
は、誰もがそれを回避する方法を同じ問題、または任意のアイデアがありましたか?
非常に簡単に確認できます。単にTOpenDialogをフォームに配置し、Executeメソッドを呼び出します。エンバカデロの指示に従って、アプリケーションに署名し、サンドボックス:
http://docwiki.embarcadero.com/RADStudio/en/Mac_OS_X_Application_Development実行が遅延があると呼ばれる
、アプリが一瞬フリーズしますが、何も表示されません。例外やエラーメッセージはありません。 アプリがサンドボックス化されていない場合、ダイアログは正しく機能します。
このコードも機能しないため、問題はおそらくTOpenDialogによって呼び出されたTNSOpenPanelのどこかにありますが、残念ながら見つけられませんでした。
var
LOpenDir: NSOpenPanel;
begin
LOpenDir := TNSOpenPanel.Wrap(TNSOpenPanel.OCClass.openPanel);
LOpenDir.runModal;
LOpenDir.release;
Iは、サンドボックスとNSOpenPanelは、サンドボックスのないものと比較して、異なるクラスに由来することApple docsに読み取ります。 これは問題の原因だと思います。
アイデアをいただければ幸いです。
Btw、私はプロジェクトオプションでエンタイトルメントのいくつかの組み合わせを試しましたが、効果がありませんでした。
私は同じ問題、任意の回避策を得ましたか?ありがとう。 – RRN
残念ながら、これまでの回避策は見つかりませんでした。唯一の肯定的な点は、OSX 10.7ではこの問題が発生しますが、10.8では発生しないことです。これまでのところ、私のアプリケーションの唯一の解決策は、10.7で実行されたときに 'ブラウズ'機能を無効にしてドラッグドロップオプションのみを使用することでした。 – VGeorgiev