“FYI, I am very newbie in iPhone development.”
I had upgraded Xcode to 4.2 beta 4 and realised that there is no more templates for iOS 4.
Obviously, it did not include iOS 4 SDK because it said “with iOS 5 SDK”, duh!
I could not go back to Xcode beta 3 since I upgraded my iPhone to beta 4 as well.
Anyway…
In the tutorial that I am learning at the moment, it requires “Window-based application”.
Xcode 4.2 beta 4 does not have “window-based application”; so, I created a project with “Empty application”.
Unfortunately, “Empty application” has no longer “MainWindow.xib”, which tutorial teacher said to modify something in it.
So, I googled to make “MainWindow.xib” visible and found this article.
“MainWindow.xib” posted by Jeroen Trappers
What he said is that “MainWindow.xib” is not included by default in templates. He suggested to create “MainWindow.xib” manually as below:
(FYI, this instruction is only for me. It is better to go to original article and follow.)
1. Create new project in Xcode 4.2 beta and choose “Empty Application” template
2. Add “New File” to the project by choosing “iOS -> User Interface -> Empty”
3. Choose “iPhone” and name “MainWindow” (.xib will be added automatically)
4. Open “MainWindow.xib” in project navigator
5. Click “File’s Owner” in “Placeholders”
Change Class as “UIApplication” in “Identity Inspector”
6. Drag “Object” in the library into “Objects” panel on the left
7. Change the class of the Object as your delegate class, such as “DemoAppDelegate”
(The name of object will be automatically change like “Demo App Delegate”)
8. Drag “Window” in the library into “Objects” panel on the left
9. Open “DemoAppDelegate.h” in project navigator
10. Find below code
@interface DemoAppDelegate : UIResponder @property (strong, nonatomic)UIWindow *window; @end
11. Change as below:
@interface DemoAppDelegate : UIResponder @property (strong, nonatomic) IBOutlet UIWindow *window; @end
11. Open “MainWindow.xib” in project navigator
12. Click “File’s Owner” in “Placeholders”
13. Control-Drag “delegate” of “Outlets” in “Connections Inspector” to “Demo App Delegate” in “Objects”
14. Click “Demo App Delgate” in “Objects”
15. Control-Drage “window” of “Outlets” in “Connections Inspector” to “Window” in “Objects”
16. Open “Summary” of your project
17. Find “iPhone / iPod Deployment Info”
18. Change “Main Interface” as “MainWindow”
19. Open “DemoAppDelegate.m” in project navigator
20. Find below code
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; // Override point for customization after application launch. self.window.backgroundColor = [UIColor whiteColor]; [self.window makeKeyAndVisible]; return YES;
21. Change as below
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { //self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; // Override point for customization after application launch. //self.window.backgroundColor = [UIColor whiteColor]; [self.window makeKeyAndVisible]; return YES; }
—- Finish —–
[Added 2011/07/25]
I am following Bucky’s iPhone development tutorials:
- IPHONE DEVELOPMENT TUTORIAL – 21 – INTRO TO MULTIVIEW APPS – http://www.thenewboston.com/?p=1393&pOpen=tutorial
- IPHONE DEVELOPMENT TUTORIAL – 22 – WORKING WITH THE SWITCHCLASS – http://www.thenewboston.com/?p=1395&pOpen=tutorial
- IPHONE DEVELOPMENT TUTORIAL – 23 – CHANGING MAINWINDOW.XIB – http://www.thenewboston.com/?p=1397&pOpen=tutorial
- IPHONE DEVELOPMENT TUTORIAL – 24 – VIEWDIDLOAD METHOD – http://www.thenewboston.com/?p=1399&pOpen=tutorial
- IPHONE DEVELOPMENT TUTORIAL – 25 – CRAP LOADS OF CODE – http://www.thenewboston.com/?p=1401&pOpen=tutorial
- IPHONE DEVELOPMENT TUTORIAL – 26 – FINISHING THE MULTIVIEW APP – http://www.thenewboston.com/?p=1403&pOpen=tutorial
And here is sample code of this tutorial developed on Xcode 4.2 beta 4 with iOS 5 SDK.
MultiViews
Nice, thank you a lot.
nice…. thanx to u….
Very helpful mate, thanks for posting
Thx!
Thanks for the post. MainWindow is working perfectly fine, but when i include a text field on the window i am unable to click on it. Did anyone have the same problem?
A way to make this a little easier, when you add the .xib file into the project: Instead of adding an empty interface file (“iOS -> User Interface -> Empty”), add the type ‘Application’. It creates an xib already setup exactly this way, you just need to specify the app delegate’s class.
Thanks so much for this. Would have been nearly impossible to have figured this out without your guide!
Thanks so much. @Hima commenting out the code in step 21 made my buttons clickable
Great Stuff!!!!
Thanks! I was looking for some help with this for days. This xib file almost broke me.
Thank u so much! Great stuff!!!!
Thanks,
Hi Chris, I seem to be having a problem with the latest release of Xcode 4.2. After following these instructions and going onto Buck’s tutorial. There is one step that Xcode will not allow me to perform: Ctrl+Drag Multi View App Delegate (in the nib file) and to drag it to the SwitchClass view controller. How did you do this step? It simply doesn’t allow me to link the two.
Hi, @Scooper
Honestly, I have not touched XCode recently, so I am not sure about your question. Does anyone can help him out?
Sweet, was just missing the Main Interface option from the Target Summary. Thanks for the assistance!
Dude, thank you very much.
I’ll be posting about this post and recommend my readers to access your blog.
Live long and prosper.
Hi,
Your tutorial is helpful but I have just a small question, is it possible that in Xcode 4.2 the .xib files has been replaced by MainStoryboard that seems to make the same work ?!
Thank you for your help
hi
if you do not click “use storyboard” option when you create the project. you will have .xib
Thank you so much for the article. I was having some trouble making my multi view application work. Finally step 21 did the trick.Thanks.
GREAT STUFF!!!
I just learned how to use connectors :-)!
Thank you for sharing this.
thanks!! this is very good article!!
It helped a lot. Thanks
yes……… good one ,thanku
Thx,a lot
the tutorial links are broken :-(