If you do not know how to build an iOS app...
- How in the world do you know how long it will take you to learn how build one?
- How would you know how long actually building the app would take?
- How would you know how long it will take to become familiar and comfortable with security issues?
- How long to construct and implement Updates?
- How would you know the best method to implement any given feature set?
And if you know none of this, because you couldn't possibly until you learn how to build an app, how could you ask a client to pay for something without knowing what the costs would be?? Are you expecting the client to just write a "blank check" so to speak and "hope" he/she gets a solid app in the end, after who knows how long? What if it takes you a year to learn things? What if after a year you still don't have a solid understanding of security issues? What if the client was expecting the app in 3 - 6 months? What if a "team" could have built the app in 6 weeks?
Think about all that... now do you honestly think it's a good idea to ask the client to pay for you to learn?
(Note: I know nothing about building iOS apps, but I could surely learn the basics and slap something together in a week. Something fairly functional and attractive in a month. However, building something for commercial purposes, in a solid, reliable manner, in any profession/environment often takes months of learning, if not years.)
In short, no. it is not "okay" to ask a client to pay you to educate yourself. He's/She's not your employer. To be frank, even just asking will make you seem really inexperienced and unprofessional.
Employers may often pay for education because they reap direct rewards when their employees learn. It's an "investment" in the employee.
But in a freelance situation, your client doesn't receive much of anything by paying you to learn something new. You would be essentially asking the client to pay you so they could be your "guinea pig". You get all the rewards and the client is left crossing their fingers hoping that you "learn" the correct stuff you need to learn. In most cases, the client is interested in a solid final product... so hire a team as you were asked to do.
I applaud you for wanting to learn... but delving into an entirely new language or environment is never something for which the client should be paying.
I should add that in the tech world learning is a constant and ongoing thing. It is not unheard of to get a client who wishes to use a specific API and you would need to learn how to adapt to that API. Basically.. you know PHP... but need to adapt your PHP to work with a client-requested API you've never used before, that's common. That's generally okay if you explain to the client that you are unfamiliar with the API they want and will need to educate yourself about it. You aren't learning new things as much as you are learning how to translate what you already know.
However, this is markedly different that "having never built an iOS app, I want to try." Learning brand new, never before explored, technologies is something you should do on your own.