iOS workflow