I'll start the answer and maybe someone will complete it!
As far as I know in ios you have element.text and element.name and the first should be the value of the element and the second the accessibility label. p.e.
first_tag(:UIAStaticText).name
first_tag(:UIAStaticText).text
as far as the element position to tap it, you should be abe to do so with something similar to:
element = first_tag(:UIAStaticText)
positionY = element.getLocation().getY() + (element.getSize().getHeight() / 2);
positionX = element.getLocation().getX() + (element.getSize().getWidth() / 2);
And then tap it
TouchAction elementTap = new TouchAction(driver).tap(positionX,positionY);
elementTap.perform();
Note: surely I have typos on above code. I tried to write it in java, but I'm using ruby. Also you should not call getLocation and getSize so often, call it once and save the array results and the those variables, in order to decrease the calls to appium.