Rohit Katyal Rohit Katyal - 3 months ago 21
iOS Question

Nativescript accessing localhost access in android and ios

I have a local node rest api running on my system.

My question is ,when accessing localhost from android we are supposed to use 10.0.2.2. And When using ios we can use localhost .

So is there a way we can control the host name we call , depending on the environment ios or android in a nativescript app

Answer

inside JS file you can use following (better when u need quick decide what to use per platform code)

/*at top file*/
var platform = require("platform");
var nativePlatformLocalhost;

/*in some function or globally*/
if(platform.device.os === platform.platformNames.ios){
  /*localhost for ios*/
  nativePlatformLocalhost= "localhost";
}
else if(platform.device.os === platform.platformNames.android){
  /*localhost for android*/
  nativePlatformLocalhost= "10.0.2.2";
}

or if u need more complex android / ios code based on platform and you can write two files one for android and one for ios with name convention and require as following line

require("file.js");

you will get file based on current running platform runtime, when u create two files with following names

file.android.js 
file.ios.js

http://docs.nativescript.org/ui/supporting-multiple-screens.html#platform-qualifiers

Comments