>我有方法生成一个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)
所以上面的代码只是第一次运行。第二次单击时,应用程序崩溃。代码有什么问题?
解决方案非常有趣。这发生在我的一个项目中。
You are not closing the pdf after that is being opened by the application.
您需要关闭在默认查看器中打开的 pdf。
第二次单击时,应用程序会尝试在与以前相同的位置创建和存储,但是由于文件在某些默认阅读器中打开,应用程序无法获得存储它的权限并崩溃。
所以你可以提出的一点是,如果是这种情况,那么如果用户打开pdf并最小化它会发生什么。所以到那时,应用程序会崩溃。
但答案是NO
.崩溃只发生在RhoSimulator中,而不是在模拟器或真实设备上。在设备上,不会有关于权限的问题。
因此,您可以继续发布应用程序而不会感到紧张。