0

メソッドが呼び出されたときにpdfを生成して開くメソッドがあります。

generate_pdf()
file_location = File.join(Rho::RhoApplication.get_app_path('public'),'pdfs/File110.pdf')
System.open_url(file_location)

generate_pdf()私が持っている、

pdf = PDF::Writer.new
x = pdf.absolute_left_margin - 10
y = pdf.absolute_top_margin - 10
pdf.add_text(x,y,"Hello World",20)
file_location = File.join(Rho::RhoApplication.get_app_path('public'),'pdfs/File110.pdf')
pdf.save_as(file_location)

したがって、上記のコードは初回のみ実行されます。2 回目のクリックでアプリがクラッシュします。コードの何が問題になっていますか?

4

1 に答える 1

1

解決策は非常に興味深いものです。これは私のプロジェクトの1つで私に起こりました。

You are not closing the pdf after that is being opened by the application.

デフォルトのビューアで開いている PDF を閉じる必要があります。

2 回目のクリックで、アプリケーションは以前と同じ場所に作成して保存しようとしますが、ファイルがデフォルトのリーダーで開かれると、アプリケーションはそれを保存する権限を取得せず、クラッシュします。

したがって、あなたが提起できるポイントは、この場合、ユーザーがpdfを開いて最小化するとどうなるかということです。そのため、その時点でアプリがクラッシュします。

しかし、答えはNOです。クラッシュは RhoSimulator でのみ発生し、シミュレーターや実際のデバイスでは発生しません。デバイスでは、権限に関する問題はありません。

そのため、緊張することなくアプリのリリースを進めることができます。

于 2013-09-15T14:46:48.117 に答える