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)

所以上面的代码只是第一次运行。第二次点击应用程序崩溃。代码有什么问题?

4

1 回答 1

1

解决方案真的很有趣。这发生在我的一个项目中。

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

您需要关闭在默认查看器中打开的 pdf。

当第二次点击时,应用程序尝试创建并存储在与以前相同的位置,但是当文件在某些​​默认阅读器中打开时,应用程序没有获得存储它的权限并崩溃。

因此,您可以提出的一点是,如果是这种情况,那么如果用户打开 pdf 并将其最小化会发生什么。所以那个时候,应用程序会崩溃。

但答案是NO。崩溃只发生在 RhoSimulator 中,而不是在模拟器或真实设备上。在设备上,不会有关于权限的问题。

因此,您可以毫无压力地继续发布应用程序。

于 2013-09-15T14:46:48.117 回答