2016-08-23 2 views
1

У меня есть локальный узел rest api, работающий в моей системе.Nativescript доступ к локальному доступу в android и ios

Мой вопрос в том, что при доступе к localhost от android мы должны использовать 10.0.2.2. И при использовании ios мы можем использовать localhost.

Так есть способ, которым мы можем управлять именем хоста мы называем, в зависимости от КСНА окружения или андроида в nativescript приложения

ответ

2

внутри JS файл, который вы можете использовать следующие (лучше, когда и нужно быстро решить, что использовать на платформе кода)

/*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"; 
} 

или если и нужен более сложный код андроид/Ios на платформе, и вы можете написать два файла один для андроид и один для ИОС с именем конвенции и требуют в следующей строке

require("file.js"); 

вы получите файл на основе текущего хода платформы исполнения, когда и создать два файла со следующими именами

file.android.js 
file.ios.js 

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

1

Добавление версии машинопись ответа

import {platformNames} from "platform"; 
import {device} from "platform"; 

    var nativePlatformLocalhost; 

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