You can create a mask over the rectangle. It seems to give clean edges, at least on the playing field. Here is the code, but you need to modify it a bit to get a rounded inner rectangle.
var view = UIView(frame: CGRect(x: 0, y: 0, width: 200, height: 200))
view.backgroundColor = UIColor.redColor()
view.layer.borderColor = UIColor.whiteColor().CGColor
view.layer.borderWidth = 6.0
let rectanglePath = UIBezierPath(roundedRect:view.bounds, cornerRadius: 20)
let maskLayer = CAShapeLayer()
maskLayer.frame = view.bounds
maskLayer.path = rectanglePath.CGPath
view.layer.mask = maskLayer