Nativescript: как использовать различные переменные среды для эмулятора и реального устройства? - PullRequest
0 голосов
/ 15 мая 2019

Я строю проект с помощью Nativescript-Vue.У меня есть стандартные настройки с Webpack.

Я понимаю, что могу передавать разные переменные, используя что-то вроде этого:

tns build android --bundle --env.development --env.property = value

Как я могу "различить" две разные платформы (эмулятор и реальное устройство, они обе "разработки"), чтобы передавать разные URL-адреса API?

Ответы [ 2 ]

1 голос
/ 15 мая 2019

Вы можете сделать что-то вроде этого,

        if (isIOS) {
            const description = String(NSString.stringWithUTF8String(NXGetLocalArchInfo()[0].description));
            this.isSimulator = description.indexOf("x86") !== -1 || description.indexOf("i386") !== -1;
        }
        if (isAndroid) {
            this.isSimulator = android.os.Build.FINGERPRINT.startsWith("generic")
                || android.os.Build.FINGERPRINT.startsWith("unknown")
                || android.os.Build.MODEL.indexOf("google_sdk") !== -1
                || android.os.Build.MODEL.indexOf("Emulator") !== -1
                || android.os.Build.MODEL.indexOf("Android SDK built for x86") !== -1
                || android.os.Build.MANUFACTURER.indexOf("Genymotion") !== -1
                || (android.os.Build.BRAND.startsWith("generic") && android.os.Build.DEVICE.startsWith("generic"))
                || android.os.Build.PRODUCT === "google_sdk";
        }

Версия для Android почти такая же, как версия @Narendra, указанная в его ответе, но больше версии для NativeScript / JavaScript.

Образец игровой площадки

1 голос
/ 15 мая 2019

Вы можете проверить свойства Build из android.os.Build и посмотреть, если Build.BRAND.startsWith ("generic") или Build.DEVICE.startsWith ("generic")) или Build.PRODUCT.contains("эмулятор").

Вы можете обратиться к еще нескольким свойствам, как описано здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...