{"version":"1.0","provider_name":"Azure DevOps Blog","provider_url":"https:\/\/devblogs.microsoft.com\/devops","author_name":"Bryan MacFarlane MSFT","author_url":"https:\/\/devblogs.microsoft.com\/devops\/author\/bryanmacfarlane\/","title":"Building iOS Apps in TFS - Azure DevOps Blog","type":"rich","width":600,"height":338,"html":"<blockquote class=\"wp-embedded-content\" data-secret=\"d6np7BG7km\"><a href=\"https:\/\/devblogs.microsoft.com\/devops\/building-ios-apps-in-tfs\/\">Building iOS Apps in TFS<\/a><\/blockquote><iframe sandbox=\"allow-scripts\" security=\"restricted\" src=\"https:\/\/devblogs.microsoft.com\/devops\/building-ios-apps-in-tfs\/embed\/#?secret=d6np7BG7km\" width=\"600\" height=\"338\" title=\"&#8220;Building iOS Apps in TFS&#8221; &#8212; Azure DevOps Blog\" data-secret=\"d6np7BG7km\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" class=\"wp-embedded-content\"><\/iframe><script type=\"text\/javascript\">\n\/* <![CDATA[ *\/\n\/*! This file is auto-generated *\/\n!function(d,l){\"use strict\";l.querySelector&&d.addEventListener&&\"undefined\"!=typeof URL&&(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&&!\/[^a-zA-Z0-9]\/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret=\"'+t.secret+'\"]'),o=l.querySelectorAll('blockquote[data-secret=\"'+t.secret+'\"]'),c=new RegExp(\"^https?:$\",\"i\"),i=0;i<o.length;i++)o[i].style.display=\"none\";for(i=0;i<a.length;i++)s=a[i],e.source===s.contentWindow&&(s.removeAttribute(\"style\"),\"height\"===t.message?(1e3<(r=parseInt(t.value,10))?r=1e3:~~r<200&&(r=200),s.height=r):\"link\"===t.message&&(r=new URL(s.getAttribute(\"src\")),n=new URL(t.value),c.test(n.protocol))&&n.host===r.host&&l.activeElement===s&&(d.top.location.href=t.value))}},d.addEventListener(\"message\",d.wp.receiveEmbedMessage,!1),l.addEventListener(\"DOMContentLoaded\",function(){for(var e,t,s=l.querySelectorAll(\"iframe.wp-embedded-content\"),r=0;r<s.length;r++)(t=(e=s[r]).getAttribute(\"data-secret\"))||(t=Math.random().toString(36).substring(2,12),e.src+=\"#?secret=\"+t,e.setAttribute(\"data-secret\",t)),e.contentWindow.postMessage({message:\"ready\",secret:t},\"*\")},!1)))}(window,document);\n\/\/# sourceURL=https:\/\/devblogs.microsoft.com\/devops\/wp-includes\/js\/wp-embed.min.js\n\/* ]]> *\/\n<\/script>\n","thumbnail_url":"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2012\/10\/7532.iOSBuild.png","thumbnail_width":560,"thumbnail_height":350,"description":"Note: The iOS sample code used for this blog is located @ https:\/\/tfsiosbuild.codeplex.com\u00a0Especially interesting is a script @ scripts\/cibuild.sh \u00a0 It is becoming more and more common for software shops to build applications and apps for multiple platforms and devices. In addition to other applications and platforms that you need to build, you may also [&hellip;]"}