",{"id":"SIGNIN"}).html('
×
').appendTo("body");jQuery("#SIGNIN").on('click',function(e){closeLogin()})},closeLogin=function(){jQuery("#SIGNIN").remove();jQuery("body").css("overflow","inherit")},adjustLoginHeight=function(h){jQuery("#Oframe").height(h)},login_success=function(sess){jQuery(".sign-up").html("LOGOUT").on('click',function(){location.href="https://signin."+DOMAIN+"/oauth/logout"});closeLogin()},LANG='en',commentHeight=function(data){jQuery("#block-ibt-comment iframe").height(data.height)};var login_success=function(sess){closeLogin();jQuery("article").removeClass("wall");jQuery(".login-btn .sign-up2").hide();jQuery(".login-btn .myaccount").show();jQuery(".only-before-login").hide();if(typeof sess=='object'){sess=sess.sess};jQuery("
",{"id":"TEMPE"}).html('').appendTo("body");jQuery("#TEMPE iframe").on("load",function(){jQuery("#TEMPE").remove();if(jQuery("iframe.comment").length){jQuery("iframe.comment").get(0).contentWindow.postMessage({'action':'success',},'*')}});afterLogin()};function afterLogin(){};doFir.push(function(){jQuery(document).ready(function(){jQuery(".sign-up2").on('click',function(e){e.preventDefault();e.stopPropagation();openLogin('https://signin.'+DOMAIN.replace(/ibtimes\.[\.a-z]+/,'ibtimes.com')+'/oauth?l='+jQuery(this).attr('data-lang'))})})})
Google might adopt Swift as a first-class programming language for Android, but the transition would not come without effort. Some of the mobile OS’ APIs and SDKs have to be rewritten for Swift, and the caveats keep coming.