I am using Following CIColorKernel Code to generate customFilter.
 kernel vec4 customFilter(__sample image, __sample noise, float time, float inputNoise) { 
 vec2 uv = destCoord() / 1280.0; 
 float d = length(uv - vec2(0.5,0.5));
 float blur = inputNoise; 
 float myTime = time * 1.0;
 vec2 myuv =  vec2(uv.x + sin( (uv.y + sin(myTime)) * abs(sin(myTime) + sin(2.0 * myTime) + sin(0.3 * myTime) + sin(1.4 * myTime) + cos(0.7 * myTime) + cos(1.3 * myTime)) * 4.0 ) * 0.02,uv.y) ;
 vec2 finalUV = myuv * 1280.0; 
 vec3 col; col.r = sample(image, samplerTransform(image, finalUV)).r; col.g = sample(image, samplerTransform(image, finalUV)).g; col.b = sample(image, samplerTransform(image, finalUV)).b;
 float scanline = sin(uv.y * 1280.0 *400.0)*0.08; col -= scanline;
// vignette
 col *= 1.0 - d * 0.5;
 return vec4(col, 1.0); 
}
this piece of code works fine with iOS 10 / iOS 11 devices, However. It generate weird crash with iOS 12 Device
[CIKernelPool] 16:40: ERROR: parameter has unexpected type 'vec4' (should be a sampler type) col.r = sample(image, samplerTransform(image, finalUV)).r;
[CIKernelPool] 17:40: ERROR: parameter has unexpected type 'vec4' (should be a sampler type) col.g = sample(image, samplerTransform(image, finalUV)).g;
[CIKernelPool] 18:40: ERROR: parameter has unexpected type 'vec4' (should be a sampler type) col.b = sample(image, samplerTransform(image, finalUV)).b;
this seem to happen in all CIColorKernel using  __sample. However using sampler in place of __sample and coverting CIColorKernel to CIKernel solves the crash but it doesn't generating the expected result.
 
                        
As the error stated, you are supplying wrong object to the
Here image is of type
__sample. But it actually requiressamplertype.CIColorKernel does expect
__sampletype in its parameters. Thus, what you need is to use CIKernel instead of CIColorKernel. Then you can supply sampler in your kernel.