我正在使用Nativescript-Vue构建一个项目。我使用Webpack进行标准安装。
我知道我可以使用以下方法传递不同的变量:
tns构建android --bundle --env.development --env.property = value
我如何才能在两个不同的平台(仿真器和真实设备,它们都是“开发”)之间“区分”,以便传递不同的API URL?
答案 0 :(得分:1)
您可以检查android.os.Build
中的Build属性,并查看Build.BRAND.startsWith(“ generic”)或Build.DEVICE.startsWith(“ generic”))还是Build.PRODUCT.contains (“仿真器”)。
您还可以参考here中所述的更多属性。
答案 1 :(得分:1)
您可以这样做,
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版本。