OpenGL ES2:在顶点着色器 (iOS) 中使用 "layout" 关键字时出现语法错误

OpenGL ES2: syntax error when using "layout" keyword in vertex shader(iOS)

我是 iPhone OpenGL ES 开发的新手。当我尝试使用 'layout' 关键字指定顶点属性的位置时,编译器抱怨存在语法错误。我用错了吗?或者编译器不支持关键字?我知道还有其他方法可以指定位置,但我想知道为什么这个方法对我不起作用。
顺便说一句,我正在使用 OpenGLES2.0 API.

顶点着色器是:

layout(location = 0) in vec3 position;

void main() {
    gl_Position = vec4(position, 1.0);
}

顶点着色器编译日志:

2019-12-25 10:47:48.518110+0800 OpenGLESTest[14556:1063881] compile vertex shader error!
2019-12-25 10:47:48.518284+0800 OpenGLESTest[14556:1063881] compile stage info log 
ERROR: 0:1: 'layout' : syntax error: syntax error

在 OpenGL ES 2.0 和 OpenGL ES Shading Language 1.00 neither Layout Qualifiers 中不支持关键字 in
如果你想使用布局限定符,你必须切换到 OpenGL ES 3.00 和 OpenGL ES Shading Language 3.00. See Khronos OpenGL ES Registry.

修正GLSL ES 1.00顶点着色器(对应OpenGL ES 2.00):

#version 100

attribute vec3 position;

void main() {
    gl_Position = vec4(position, 1.0);
}