add ios_main protocol