Custom shader using ETC1+alpha in Unity 5.5

In Unity 5.5, compressing sprites (packed in atlas) used on UI with “RGB Compressed ETC 4 bits” and “split alpha channel” enabled. Seems if I don’t set any material, everything works just fine. If I set a material with a custom shader, alpha doesn’t work. If I create a custom shader based on built-in shader “UI-DefaultETC1”, alpha works on Android but not on iOS. Is there a way to multi-compile this shader to support both Android and iOS? I have already tried #pragma multi_compile _ ETC1_EXTERNAL_ALPHA, does not seem to work.

// …
Properties
{
[PerRendererData] _MainTex (“Sprite Texture”, 2D) = “white” {}
[PerRendererData] _AlphaTex(“Sprite Alpha Texture”, 2D) = “white” {}
_Color (“Tint”, Color) = (1,1,1,1)

    // other properties
}

// ...

// other pragmas
#pragma multi_compile __ ETC1_EXTERNAL_ALPHA
// ...
#ifdef ETC1_EXTERNAL_ALPHA
// some shader code
#endif

// ...

together with

Shader.EnableKeyword("ETC1_EXTERNAL_ALPHA");

Seems to work fine. Since it has been a while, I’m not sure what is the exact change to make it work.