There are many ways to develop 2D game for iOS. My personal list as follows:
- ObjectiveC and Cocos2D. The good is Cocos2D and tools around it, especially brilliant SpriteBuilder. The bad is ObjectiveC.
- C# and MonoGame. The good is C#. The bad is all other, you naturally need to develop everything from scratch, animation, effects, content processing. Shaders compilation requires Windows PC to run 2MGFX tool.
- C# and Unity. The good is Unity and C#. Haven’t tried too deeply but from tutorials it looks more focused on building a game rather than learning from doing.
- ActionScript and Flixel. Not yet tested personally but ActionScript is definitely better than ObjectiveC.
Not for iOS but very convienent for quick prototype is pygame library.
Which one to choose depends on what do you want to achieve. Create a game or learn how it works under the hood.