Skip to content

Chris' Laboratory

chrislee.kr – Personal blog as bookshelves

Menu
  • Home
  • Github
  • Contact Me
Menu

MainWindow.xib absence in Xcode 4.2 beta 4 with iOS 5 SDK

Posted on 24/07/201111/09/2016 by Chris Lee
Read Time:2 Minute, 58 Second

“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

Share

Facebook
Twitter
LinkedIn
Email

Related

25 thoughts on “MainWindow.xib absence in Xcode 4.2 beta 4 with iOS 5 SDK”

  1. Hugo Cardoza says:
    25/07/2011 at 6:45 am

    Nice, thank you a lot.

    Loading...
    Reply
  2. Mukesh says:
    25/07/2011 at 4:48 pm

    nice…. thanx to u….

    Loading...
    Reply
  3. Andy says:
    01/09/2011 at 5:20 am

    Very helpful mate, thanks for posting

    Loading...
    Reply
  4. JJ says:
    17/10/2011 at 9:32 pm

    Thx!

    Loading...
    Reply
  5. Hima says:
    21/10/2011 at 6:01 am

    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?

    Loading...
    Reply
  6. Ron says:
    27/10/2011 at 2:24 pm

    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.

    Loading...
    Reply
  7. Allen says:
    04/11/2011 at 2:34 pm

    Thanks so much for this. Would have been nearly impossible to have figured this out without your guide!

    Loading...
    Reply
  8. VJ says:
    08/11/2011 at 5:27 pm

    Thanks so much. @Hima commenting out the code in step 21 made my buttons clickable

    Loading...
    Reply
  9. william says:
    09/11/2011 at 7:55 am

    Great Stuff!!!!

    Loading...
    Reply
  10. Yair says:
    10/11/2011 at 1:18 am

    Thanks! I was looking for some help with this for days. This xib file almost broke me.

    Loading...
    Reply
  11. ActionScript says:
    10/11/2011 at 1:23 am

    Thank u so much! Great stuff!!!!

    Loading...
    Reply
  12. Joaquín says:
    10/11/2011 at 6:17 am

    Thanks,

    Loading...
    Reply
  13. Sooper says:
    21/11/2011 at 9:15 am

    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.

    Loading...
    Reply
    1. Chris Lee says:
      21/11/2011 at 11:34 am

      Hi, @Scooper

      Honestly, I have not touched XCode recently, so I am not sure about your question. Does anyone can help him out?

      Loading...
      Reply
  14. Terrance Shaw says:
    01/12/2011 at 12:27 am

    Sweet, was just missing the Main Interface option from the Target Summary. Thanks for the assistance!

    Loading...
    Reply
  15. Felipe Gringo says:
    02/12/2011 at 10:04 pm

    Dude, thank you very much.
    I’ll be posting about this post and recommend my readers to access your blog.
    Live long and prosper.

    Loading...
    Reply
  16. Julien H says:
    27/12/2011 at 2:27 am

    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

    Loading...
    Reply
  17. aHMET says:
    31/01/2012 at 9:19 am

    hi
    if you do not click “use storyboard” option when you create the project. you will have .xib

    Loading...
    Reply
  18. pavithra santhosh says:
    02/02/2012 at 8:59 am

    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.

    Loading...
    Reply
  19. Henning says:
    14/02/2012 at 12:29 am

    GREAT STUFF!!!
    I just learned how to use connectors :-)!
    Thank you for sharing this.

    Loading...
    Reply
  20. kim says:
    08/03/2012 at 12:47 pm

    thanks!! this is very good article!!

    Loading...
    Reply
  21. Rafael says:
    16/03/2012 at 7:31 am

    It helped a lot. Thanks

    Loading...
    Reply
  22. evv says:
    29/03/2012 at 5:08 pm

    yes……… good one ,thanku

    Loading...
    Reply
  23. Robert.Si says:
    17/08/2012 at 4:18 pm

    Thx,a lot

    Loading...
    Reply
  24. bilu says:
    25/09/2012 at 8:25 pm

    the tutorial links are broken :-(

    Loading...
    Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Categories

  • Adobe Flex (2)
  • Android (20)
  • Angular (ngx) (3)
  • Arduino (2)
  • Codeigniter (6)
  • CSS (5)
  • Django (2)
  • Docker (5)
  • E-Commerce (6)
  • Finance (2)
  • General Documents (15)
  • Google App Engine (5)
  • Helm (1)
  • iPhone (13)
  • Javascript (13)
  • Kubernetes (2)
  • Linux (13)
  • Magento (8)
  • Marketing (3)
  • MongoDB (4)
  • MS-SQL (1)
  • MySQL (6)
  • Node.js (6)
  • PHP (17)
  • Platforms (1)
  • Raspberry Pi (5)
  • React Native (4)
  • React.js/Next.js (2)
  • Samsung Smart TV (4)
  • Security (17)
  • Sencha Touch (4)
  • Server (31)
  • SVN (7)
  • Terraform (1)
  • Tools (7)
  • Uncategorized (1)
  • VirtualBox (1)
  • Vue.js (1)
  • Web Development (7)
  • WordPress (4)
  • Yii2 (3)

Search

Recent Posts

  • Gitlab Helm upgrade failed to register Gitlab runner 403 Forbidden
  • Run docker-dind and docker in Kubernetes cluster
  • Next.js Tutorial – Setting up your database in your local development environment
  • helm list error stream ID 3; INTERNAL_ERROR
  • Bootstrapping Kubernetes cluster with kubeadm

Recent Comments

  • Vadim on Alpine – Plugin caching_sha2_password could not be loaded
  • Andris on Binance Auto Trading Bot – Buy low/Sell high with stop loss limit/Trade multiple coins
  • Obayed on Binance Auto Trading Bot – Buy low/Sell high with stop loss limit/Trade multiple coins
  • Ari on How to install memcache.so/memcached.so for MAMP Pro (Mac)
  • Mida ali on Binance Auto Trading Bot – Buy low/Sell high with stop loss limit/Trade multiple coins

Tags

1 ajax amazon android android-addpart browser chrislee-kr codeigniter codeigniter-tcpdf com-apple-net-racoon CSS CSS history hack delpaigmail-com entity-addpart-double exception-printing-is-disabled-by-default-for-security-reasons ext-plugins-listpagingplugin ext-plugins-listpagingplugin-example f iphone javascript jquery-defaultchecked jquery-samsung-smart-tv listpagingplugin mac magento-exception-printing-is-disabled-by-default-for-security-reasons magento-sample-data-exception-printing-is-disabled-by-default-for-security-reasons nu-vot null-core-errors-confignotfound-config-mk9engine-ini php samsung-smart-tv-jquery samsung-smart-tv-sdk-ajax samsung-smart-tv-sdk-jquery samsung-tv-sdk samsung-tv-sdk-jquery samsung tv sencha-smart-tv sencha-touch-list-paging smart-tv-jquery sqlite subversion svn tcedook tcpdf-codeigniter uilinebreakmodecharacterwrap-is-deprecated unknown-column-link-area

Meta

  • Log in
  • Entries feed
  • Comments feed
  • WordPress.org
© 2025 Chris' Laboratory | Powered by Minimalist Blog WordPress Theme
%d