{"id":324,"date":"2011-06-16T20:17:02","date_gmt":"2011-06-16T19:17:02","guid":{"rendered":"http:\/\/www.trappers.tk\/site\/?p=324"},"modified":"2012-05-19T09:02:19","modified_gmt":"2012-05-19T08:02:19","slug":"mainwindow-xib","status":"publish","type":"post","link":"https:\/\/jeroentrappers.be\/site\/2011\/06\/16\/mainwindow-xib\/","title":{"rendered":"MainWindow.xib"},"content":{"rendered":"<p><strong>[Update: I added a <a title=\"Where is MainWindow.xib in Xcode 4.2?\" href=\"http:\/\/www.trappers.tk\/site\/2012\/03\/14\/where-is-mainwindow-xib-in-xcode-4-2\/\">screencast <\/a>of the process]<\/strong><\/p>\n<p><strong>[Update: Interesting discussion of this post over on <a href=\"http:\/\/stackoverflow.com\/questions\/7368876\/how-to-hookup-a-mainwindow-xib-to-an-empty-project\">StackOverflow<\/a>]<\/strong><\/p>\n<p>In the XCode 4.2 beta, MainWindow.xib is no longer included by default in some project templates. This means that you have to get your application to work by writing some code, using another method, or by manually reconstructing MainWindow.xib. This post shows the latter. Let&#8217;s get started.<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-332 alignright\" title=\"Start with Empty Application template\" src=\"https:\/\/i0.wp.com\/www.trappers.tk\/site\/wp-content\/uploads\/2011\/06\/Step-1.png?resize=492%2C99\" alt=\"Start with Empty Application template\" width=\"492\" height=\"99\" srcset=\"https:\/\/i0.wp.com\/jeroentrappers.be\/site\/wp-content\/uploads\/2011\/06\/Step-1.png?w=492&amp;ssl=1 492w, https:\/\/i0.wp.com\/jeroentrappers.be\/site\/wp-content\/uploads\/2011\/06\/Step-1.png?resize=300%2C60&amp;ssl=1 300w\" sizes=\"auto, (max-width: 492px) 100vw, 492px\" \/><\/p>\n<p>If you create a new project in XCode 4.2 beta, and choose the Empty Application template to start from, change nothing and try running it in your iPhone 5.0 simulator, you will see an empty &#8211; black &#8211; screen. The only thing you get from the template is an <em>xAppDelegate.h<\/em> and <em>.m<\/em>.<\/p>\n<p>We will now reconstruct our own MainWindow.xib, to get started with development the way you&#8217;re used to. So the next thing we do is add a New File to the project.\u00c2\u00a0Choose <em>iOS &gt; User Interface &gt; Empty<\/em> as template. <img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"alignright size-full wp-image-333\" title=\"Add Empty Interface Builder document\" src=\"https:\/\/i0.wp.com\/www.trappers.tk\/site\/wp-content\/uploads\/2011\/06\/Step-2.png?resize=325%2C85\" alt=\"Add Empty Interface Builder document\" width=\"325\" height=\"85\" srcset=\"https:\/\/i0.wp.com\/jeroentrappers.be\/site\/wp-content\/uploads\/2011\/06\/Step-2.png?w=325&amp;ssl=1 325w, https:\/\/i0.wp.com\/jeroentrappers.be\/site\/wp-content\/uploads\/2011\/06\/Step-2.png?resize=300%2C78&amp;ssl=1 300w\" sizes=\"auto, (max-width: 325px) 100vw, 325px\" \/>Next, choose iPhone, next give it the name <em>MainWindow<\/em> (.xib will be added automatically). By the way, the name of the file is not very important, but it&#8217;s nice to choose <em>MainWindow<\/em>, because that&#8217;s familiar.<\/p>\n<p>Select the new File we just created. What we have now is an empty design surface, in what used to be Interface Builder. Here we&#8217;re going to change some things.<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"alignright size-full wp-image-334\" title=\"The empty design surface of MainWindow.xib\" src=\"https:\/\/i0.wp.com\/www.trappers.tk\/site\/wp-content\/uploads\/2011\/06\/Step-3.png?resize=940%2C508\" alt=\"The empty design surface of MainWindow.xib\" width=\"940\" height=\"508\" srcset=\"https:\/\/i0.wp.com\/jeroentrappers.be\/site\/wp-content\/uploads\/2011\/06\/Step-3.png?w=940&amp;ssl=1 940w, https:\/\/i0.wp.com\/jeroentrappers.be\/site\/wp-content\/uploads\/2011\/06\/Step-3.png?resize=300%2C162&amp;ssl=1 300w\" sizes=\"auto, (max-width: 940px) 100vw, 940px\" \/><\/p>\n<ul>\n<li>Change the class of File&#8217;s Owner to UIApplication<\/li>\n<\/ul>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-335 alignright\" title=\"Change class of File's Owner to UIApplication\" src=\"https:\/\/i0.wp.com\/www.trappers.tk\/site\/wp-content\/uploads\/2011\/06\/Step-4.png?resize=641%2C176\" alt=\"Change class of File's Owner to UIApplication\" width=\"641\" height=\"176\" srcset=\"https:\/\/i0.wp.com\/jeroentrappers.be\/site\/wp-content\/uploads\/2011\/06\/Step-4.png?w=641&amp;ssl=1 641w, https:\/\/i0.wp.com\/jeroentrappers.be\/site\/wp-content\/uploads\/2011\/06\/Step-4.png?resize=300%2C82&amp;ssl=1 300w\" sizes=\"auto, (max-width: 641px) 100vw, 641px\" \/><\/p>\n<ul>\n<li>Find Object in the Library and drag it onto the Objects pane on the left.<\/li>\n<\/ul>\n<p><span style=\"font-family: Georgia, 'Bitstream Charter', serif; font-size: 16px; line-height: 24px;\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"alignright size-full wp-image-336\" title=\"Add Object to the document\" src=\"https:\/\/i0.wp.com\/www.trappers.tk\/site\/wp-content\/uploads\/2011\/06\/Step-5.png?resize=638%2C300\" alt=\"Add Object to the document\" width=\"638\" height=\"300\" srcset=\"https:\/\/i0.wp.com\/jeroentrappers.be\/site\/wp-content\/uploads\/2011\/06\/Step-5.png?w=638&amp;ssl=1 638w, https:\/\/i0.wp.com\/jeroentrappers.be\/site\/wp-content\/uploads\/2011\/06\/Step-5.png?resize=300%2C141&amp;ssl=1 300w\" sizes=\"auto, (max-width: 638px) 100vw, 638px\" \/><\/span><\/p>\n<ul>\n<li>Change the class of that Object to the xAppDelegate class that was created by the template, you might also want to clear out the &#8220;Object&#8221; label.<\/li>\n<\/ul>\n<p><span style=\"font-family: Georgia, 'Bitstream Charter', serif; font-size: 16px; line-height: 24px;\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"alignright size-full wp-image-337\" title=\"Change class of the object to xAppDelegate\" src=\"https:\/\/i0.wp.com\/www.trappers.tk\/site\/wp-content\/uploads\/2011\/06\/Step-6.png?resize=635%2C298\" alt=\"Change class of the object to xAppDelegate\" width=\"635\" height=\"298\" srcset=\"https:\/\/i0.wp.com\/jeroentrappers.be\/site\/wp-content\/uploads\/2011\/06\/Step-6.png?w=635&amp;ssl=1 635w, https:\/\/i0.wp.com\/jeroentrappers.be\/site\/wp-content\/uploads\/2011\/06\/Step-6.png?resize=300%2C140&amp;ssl=1 300w\" sizes=\"auto, (max-width: 635px) 100vw, 635px\" \/><\/span><\/p>\n<ul>\n<li>Add a Window to the Objects pane on the left.<\/li>\n<\/ul>\n<p><span style=\"font-family: Georgia, 'Bitstream Charter', serif; font-size: 16px; line-height: 24px;\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-338 alignnone\" title=\"Add a window to the document\" src=\"https:\/\/i0.wp.com\/www.trappers.tk\/site\/wp-content\/uploads\/2011\/06\/Step-7.png?resize=639%2C380\" alt=\"Add a window to the document\" width=\"639\" height=\"380\" srcset=\"https:\/\/i0.wp.com\/jeroentrappers.be\/site\/wp-content\/uploads\/2011\/06\/Step-7.png?w=639&amp;ssl=1 639w, https:\/\/i0.wp.com\/jeroentrappers.be\/site\/wp-content\/uploads\/2011\/06\/Step-7.png?resize=300%2C178&amp;ssl=1 300w\" sizes=\"auto, (max-width: 639px) 100vw, 639px\" \/><\/span><\/p>\n<p><span style=\"font-family: Georgia, 'Bitstream Charter', serif; font-size: 16px; line-height: 24px;\">Now, let&#8217;s bind it all together. To do this, we first need to change some of the code in the xAppDelegate.h. We have to add IBOutlet to the window property it has, so that we can \u00c2\u00a0hook it up in Interface Builder. The xAppDelegate.h should read something like this:<\/span><\/p>\n<pre>@interface DemoAppDelegate :\r\n      UIResponder &lt;UIApplicationDelegate&gt;\r\n@property (strong, nonatomic) <em><strong>IBOutlet<\/strong><\/em> UIWindow *window;\r\n@end<\/pre>\n<p>Don&#8217;t forget to <strong>save<\/strong> the file, otherwise Interface Builder will not be able to pick up the Outlet. Next we continue editing the MainWindow.xib<\/p>\n<ul>\n<li>Control-Drag from the <em>delegate<\/em> outlet of the File Owner to the xAppDelegate object.<\/li>\n<\/ul>\n<p><span style=\"font-family: Georgia, 'Bitstream Charter', serif; font-size: 16px; line-height: 24px;\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"alignright size-full wp-image-339\" title=\"Link the application delegate\" src=\"https:\/\/i0.wp.com\/www.trappers.tk\/site\/wp-content\/uploads\/2011\/06\/Step-8.png?resize=641%2C210\" alt=\"Link the application delegate\" width=\"641\" height=\"210\" srcset=\"https:\/\/i0.wp.com\/jeroentrappers.be\/site\/wp-content\/uploads\/2011\/06\/Step-8.png?w=641&amp;ssl=1 641w, https:\/\/i0.wp.com\/jeroentrappers.be\/site\/wp-content\/uploads\/2011\/06\/Step-8.png?resize=300%2C98&amp;ssl=1 300w\" sizes=\"auto, (max-width: 641px) 100vw, 641px\" \/><\/span><\/p>\n<ul>\n<li>Control-Drag from the <em>window<\/em> outlet of the xAppDelegate to the Window.<\/li>\n<\/ul>\n<p><span style=\"font-family: Georgia, 'Bitstream Charter', serif; font-size: 16px; line-height: 24px;\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"alignright size-full wp-image-340\" title=\"Link the window outlet of the app delegate\" src=\"https:\/\/i0.wp.com\/www.trappers.tk\/site\/wp-content\/uploads\/2011\/06\/Step-9.png?resize=639%2C187\" alt=\"Link the window outlet of the app delegate\" width=\"639\" height=\"187\" srcset=\"https:\/\/i0.wp.com\/jeroentrappers.be\/site\/wp-content\/uploads\/2011\/06\/Step-9.png?w=639&amp;ssl=1 639w, https:\/\/i0.wp.com\/jeroentrappers.be\/site\/wp-content\/uploads\/2011\/06\/Step-9.png?resize=300%2C87&amp;ssl=1 300w\" sizes=\"auto, (max-width: 639px) 100vw, 639px\" \/><\/span><\/p>\n<ul>\n<li>Just for this demo, I&#8217;m adding a label to the window.<\/li>\n<\/ul>\n<p><span style=\"font-family: Georgia, 'Bitstream Charter', serif; font-size: 16px; line-height: 24px;\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"alignright size-full wp-image-341\" title=\"Add a label for testing\" src=\"https:\/\/i0.wp.com\/www.trappers.tk\/site\/wp-content\/uploads\/2011\/06\/Step-10.png?resize=697%2C360\" alt=\"Add a label for testing\" width=\"697\" height=\"360\" srcset=\"https:\/\/i0.wp.com\/jeroentrappers.be\/site\/wp-content\/uploads\/2011\/06\/Step-10.png?w=697&amp;ssl=1 697w, https:\/\/i0.wp.com\/jeroentrappers.be\/site\/wp-content\/uploads\/2011\/06\/Step-10.png?resize=300%2C154&amp;ssl=1 300w\" sizes=\"auto, (max-width: 697px) 100vw, 697px\" \/><\/span><\/p>\n<p>We&#8217;re not done yet, but we&#8217;re almost there.<\/p>\n<ul>\n<li>Navigate to the project, and in the Summary tab, select MainWindow as the Main Interface.<\/li>\n<\/ul>\n<p><span style=\"font-family: Georgia, 'Bitstream Charter', serif; font-size: 16px; line-height: 24px;\"><a href=\"https:\/\/i0.wp.com\/www.trappers.tk\/site\/wp-content\/uploads\/2011\/06\/Step-11.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-342 alignnone\" title=\"Set the Main Interface to MainWindow\" src=\"https:\/\/i0.wp.com\/www.trappers.tk\/site\/wp-content\/uploads\/2011\/06\/Step-11.png?resize=849%2C262\" alt=\"Set the Main Interface to MainWindow\" width=\"849\" height=\"262\" srcset=\"https:\/\/i0.wp.com\/jeroentrappers.be\/site\/wp-content\/uploads\/2011\/06\/Step-11.png?w=849&amp;ssl=1 849w, https:\/\/i0.wp.com\/jeroentrappers.be\/site\/wp-content\/uploads\/2011\/06\/Step-11.png?resize=300%2C92&amp;ssl=1 300w\" sizes=\"auto, (max-width: 849px) 100vw, 849px\" \/><\/a><\/span><\/p>\n<p>You can now run the project in the Simulator, and the window should show up. However there&#8217;s one last thing you might want to clean up. In <em>xAppDelegate.m<\/em>, there was actually code that creates a window as well. Just put the method<\/p>\n<pre>- (BOOL) application:didFinishLaunchingWithOptions:<\/pre>\n<p>in comment.<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"alignright size-full wp-image-360\" title=\"we're done\" src=\"https:\/\/i0.wp.com\/www.trappers.tk\/site\/wp-content\/uploads\/2011\/06\/Step-12.png?resize=380%2C264\" alt=\"we're done\" width=\"380\" height=\"264\" srcset=\"https:\/\/i0.wp.com\/jeroentrappers.be\/site\/wp-content\/uploads\/2011\/06\/Step-12.png?w=380&amp;ssl=1 380w, https:\/\/i0.wp.com\/jeroentrappers.be\/site\/wp-content\/uploads\/2011\/06\/Step-12.png?resize=300%2C208&amp;ssl=1 300w\" sizes=\"auto, (max-width: 380px) 100vw, 380px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>I hope this helps to understand exactly how an iOS app starts. The next thing you should do is add a ViewController, and push it onto the MainWindow. I&#8217;m not going to cover that here. Please leave your feedback in the comments.<\/p>\n<p>kthxbye<\/p>\n","protected":false},"excerpt":{"rendered":"<p>[Update: I added a screencast of the process] [Update: Interesting discussion of this post over on StackOverflow] In the XCode 4.2 beta, MainWindow.xib is no longer included by default in some project templates. This means that you have to get your application to work by writing some code, using another method, or by manually reconstructing&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false},"version":2}},"categories":[70],"tags":[],"class_list":["post-324","post","type-post","status-publish","format-standard","hentry","category-apple"],"jetpack_publicize_connections":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>MainWindow.xib - Appmire blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jeroentrappers.be\/site\/2011\/06\/16\/mainwindow-xib\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"MainWindow.xib - Appmire blog\" \/>\n<meta property=\"og:description\" content=\"[Update: I added a screencast of the process] [Update: Interesting discussion of this post over on StackOverflow] In the XCode 4.2 beta, MainWindow.xib is no longer included by default in some project templates. This means that you have to get your application to work by writing some code, using another method, or by manually reconstructing...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jeroentrappers.be\/site\/2011\/06\/16\/mainwindow-xib\/\" \/>\n<meta property=\"og:site_name\" content=\"Appmire blog\" \/>\n<meta property=\"article:published_time\" content=\"2011-06-16T19:17:02+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2012-05-19T08:02:19+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/www.trappers.tk\/site\/wp-content\/uploads\/2011\/06\/Step-1.png\" \/>\n<meta name=\"author\" content=\"Jeroen\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jeroen\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jeroentrappers.be\/site\/2011\/06\/16\/mainwindow-xib\/\",\"url\":\"https:\/\/jeroentrappers.be\/site\/2011\/06\/16\/mainwindow-xib\/\",\"name\":\"MainWindow.xib - Appmire blog\",\"isPartOf\":{\"@id\":\"https:\/\/jeroentrappers.be\/site\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/jeroentrappers.be\/site\/2011\/06\/16\/mainwindow-xib\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/jeroentrappers.be\/site\/2011\/06\/16\/mainwindow-xib\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/www.trappers.tk\/site\/wp-content\/uploads\/2011\/06\/Step-1.png\",\"datePublished\":\"2011-06-16T19:17:02+00:00\",\"dateModified\":\"2012-05-19T08:02:19+00:00\",\"author\":{\"@id\":\"https:\/\/jeroentrappers.be\/site\/#\/schema\/person\/937cade782e684eb82e0ad8bf3e7806f\"},\"breadcrumb\":{\"@id\":\"https:\/\/jeroentrappers.be\/site\/2011\/06\/16\/mainwindow-xib\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jeroentrappers.be\/site\/2011\/06\/16\/mainwindow-xib\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jeroentrappers.be\/site\/2011\/06\/16\/mainwindow-xib\/#primaryimage\",\"url\":\"http:\/\/www.trappers.tk\/site\/wp-content\/uploads\/2011\/06\/Step-1.png\",\"contentUrl\":\"http:\/\/www.trappers.tk\/site\/wp-content\/uploads\/2011\/06\/Step-1.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jeroentrappers.be\/site\/2011\/06\/16\/mainwindow-xib\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jeroentrappers.be\/site\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"MainWindow.xib\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jeroentrappers.be\/site\/#website\",\"url\":\"https:\/\/jeroentrappers.be\/site\/\",\"name\":\"Appmire blog\",\"description\":\"www.appmire.be\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jeroentrappers.be\/site\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/jeroentrappers.be\/site\/#\/schema\/person\/937cade782e684eb82e0ad8bf3e7806f\",\"name\":\"Jeroen\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jeroentrappers.be\/site\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/f73f0c93a26301ab27fc60b560e31d39?s=96&d=identicon&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/f73f0c93a26301ab27fc60b560e31d39?s=96&d=identicon&r=g\",\"caption\":\"Jeroen\"},\"sameAs\":[\"https:\/\/www.google.com\/accounts\/o8\/id?id=AItOawmXjGgZm3xAvfuje3MqTSlqYJRFFcUn9Pk\"],\"url\":\"https:\/\/jeroentrappers.be\/site\/author\/admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"MainWindow.xib - Appmire blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jeroentrappers.be\/site\/2011\/06\/16\/mainwindow-xib\/","og_locale":"en_US","og_type":"article","og_title":"MainWindow.xib - Appmire blog","og_description":"[Update: I added a screencast of the process] [Update: Interesting discussion of this post over on StackOverflow] In the XCode 4.2 beta, MainWindow.xib is no longer included by default in some project templates. This means that you have to get your application to work by writing some code, using another method, or by manually reconstructing...","og_url":"https:\/\/jeroentrappers.be\/site\/2011\/06\/16\/mainwindow-xib\/","og_site_name":"Appmire blog","article_published_time":"2011-06-16T19:17:02+00:00","article_modified_time":"2012-05-19T08:02:19+00:00","og_image":[{"url":"http:\/\/www.trappers.tk\/site\/wp-content\/uploads\/2011\/06\/Step-1.png","type":"","width":"","height":""}],"author":"Jeroen","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Jeroen","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/jeroentrappers.be\/site\/2011\/06\/16\/mainwindow-xib\/","url":"https:\/\/jeroentrappers.be\/site\/2011\/06\/16\/mainwindow-xib\/","name":"MainWindow.xib - Appmire blog","isPartOf":{"@id":"https:\/\/jeroentrappers.be\/site\/#website"},"primaryImageOfPage":{"@id":"https:\/\/jeroentrappers.be\/site\/2011\/06\/16\/mainwindow-xib\/#primaryimage"},"image":{"@id":"https:\/\/jeroentrappers.be\/site\/2011\/06\/16\/mainwindow-xib\/#primaryimage"},"thumbnailUrl":"http:\/\/www.trappers.tk\/site\/wp-content\/uploads\/2011\/06\/Step-1.png","datePublished":"2011-06-16T19:17:02+00:00","dateModified":"2012-05-19T08:02:19+00:00","author":{"@id":"https:\/\/jeroentrappers.be\/site\/#\/schema\/person\/937cade782e684eb82e0ad8bf3e7806f"},"breadcrumb":{"@id":"https:\/\/jeroentrappers.be\/site\/2011\/06\/16\/mainwindow-xib\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jeroentrappers.be\/site\/2011\/06\/16\/mainwindow-xib\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jeroentrappers.be\/site\/2011\/06\/16\/mainwindow-xib\/#primaryimage","url":"http:\/\/www.trappers.tk\/site\/wp-content\/uploads\/2011\/06\/Step-1.png","contentUrl":"http:\/\/www.trappers.tk\/site\/wp-content\/uploads\/2011\/06\/Step-1.png"},{"@type":"BreadcrumbList","@id":"https:\/\/jeroentrappers.be\/site\/2011\/06\/16\/mainwindow-xib\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jeroentrappers.be\/site\/"},{"@type":"ListItem","position":2,"name":"MainWindow.xib"}]},{"@type":"WebSite","@id":"https:\/\/jeroentrappers.be\/site\/#website","url":"https:\/\/jeroentrappers.be\/site\/","name":"Appmire blog","description":"www.appmire.be","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jeroentrappers.be\/site\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/jeroentrappers.be\/site\/#\/schema\/person\/937cade782e684eb82e0ad8bf3e7806f","name":"Jeroen","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jeroentrappers.be\/site\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/f73f0c93a26301ab27fc60b560e31d39?s=96&d=identicon&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f73f0c93a26301ab27fc60b560e31d39?s=96&d=identicon&r=g","caption":"Jeroen"},"sameAs":["https:\/\/www.google.com\/accounts\/o8\/id?id=AItOawmXjGgZm3xAvfuje3MqTSlqYJRFFcUn9Pk"],"url":"https:\/\/jeroentrappers.be\/site\/author\/admin\/"}]}},"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p1Ezsm-5e","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/jeroentrappers.be\/site\/wp-json\/wp\/v2\/posts\/324","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jeroentrappers.be\/site\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jeroentrappers.be\/site\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jeroentrappers.be\/site\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jeroentrappers.be\/site\/wp-json\/wp\/v2\/comments?post=324"}],"version-history":[{"count":35,"href":"https:\/\/jeroentrappers.be\/site\/wp-json\/wp\/v2\/posts\/324\/revisions"}],"predecessor-version":[{"id":368,"href":"https:\/\/jeroentrappers.be\/site\/wp-json\/wp\/v2\/posts\/324\/revisions\/368"}],"wp:attachment":[{"href":"https:\/\/jeroentrappers.be\/site\/wp-json\/wp\/v2\/media?parent=324"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jeroentrappers.be\/site\/wp-json\/wp\/v2\/categories?post=324"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jeroentrappers.be\/site\/wp-json\/wp\/v2\/tags?post=324"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}