I know how to draw a arc
and I also found how to draw a gradient line from here I have found two function can draw gradient:CGContextDrawLinearGradient and CGContex
You could do it by using CGContextDrawRadialGradient() with a clipping path applied. You could do something like this:
CGContextBeginPath(context);
CGContextMoveToPoint(context, startX, startY);
CGContextAddArcToPoint(context, x1, y1, x2, y2, arcRadius);
CGConextClosePath(context);
CGContextClip(context);
CGContextDrawRadialGradient(context, gradient, startCenter, startRadius, endCenter, endRadius, options);