Agreed, it's important to that the entire teams understands when someone is learning a new skill set or language. We try to allocate more time in our sprint for not only the developer who is learning but also for another developer on the team to help ramp them up.
It takes a bit of working with the PM to determine what is a good task that isn't super time sensitive but it's typically a solvable problem.
That's a valid point. Although, we hire developers who are interested in becoming mobile developers. If you want to succeed as an iOS developer, Core Data and UIKit are essential to learn. If the person isn't interested in doing the front end then mobile dev probably isn't for them. That should come up in the interview process.
It takes a bit of working with the PM to determine what is a good task that isn't super time sensitive but it's typically a solvable problem.