The problem is that Embed segue is iOS 6+. It fails because you are trying to create an instance of the inner class EmbedSegue, which is not in iOS 5. The obvious solution is not to use EmbedSegue if you need iOS 5 support :)
Here's another question - what to use instead? I have the same problem at the moment; I will share if I find a graceful architectural solution for this.
It seems like the solution is completely obvious to any "old school" iOS developer. This is how you do it.
- In your "parent" view controller, instantiate the "child" view controller in viewDidLoad: or when appropriate
- [self addChildViewController: childVC];
- [self.view addSubview: childVC.view];
- childVC.view.frame = ....;
Now you should see what you have done for your child VC in nib, or the storyboard will appear in your parent view, where you specify it.
I hope this helps any soul who wants to separate their logic :)
Cheers, dan
source share