我有一个用Windows 7 Delphi XE8编写的移动应用程序。它上周五在我的iPhone上编译并运行。在周末,我将iOS版本升级到9.0.1。 今天早上(星期一)我收到错误消息:'Project Exception Class aborted(6)。
项目编译和构建正常,但当我尝试将应用程序部署到我的iPhone时,异常发生在:
FSharedContext := TEAGLContext.Wrap(TEAGLContext.Create.initWithAPI(kEAGLRenderingAPIOpenGLES2));
的
class procedure TCustomContextIOS.CreateSharedContext;
begin
if FSharedContext = nil then
begin
FSharedContext := TEAGLContext.Wrap(TEAGLContext.Create.initWithAPI(kEAGLRenderingAPIOpenGLES2));
TEAGLContext.OCClass.setCurrentContext(FSharedContext);
end;
end;
单位FMX.Context.GLES.iOS
这可能是由iOS版本更新造成的,还是其他可能出错的?我发现有关此问题的其他帖子似乎与部署到Android有关,但我使用的是iPhone。
感谢任何帮助。
答案 0 :(得分:1)
您必须手动应用修补程序以使用XE8定位iOS 9。有一篇博客文章描述了这些步骤:Steps for building iOS 32-bit applications for iOS 9 with XE7 and XE8。归结为使用该文件的本地副本将FMX.Context.GLES.iOS.pas第52行中的Create
更改为Alloc
。
FSharedContext := TEAGLContext.Wrap(TEAGLContext.Alloc.initWithAPI(kEAGLRenderingAPIOpenGLES2));