OStack程序员社区-中国程序员成长平台

标题: ios - NativeScript - 获取设备本地 IP 地址 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 04:36
标题: ios - NativeScript - 获取设备本地 IP 地址

我想使用 NativeScript/JavaScript 获取设备的本地 IP 地址。

我进行了搜索并找到了一种在 Android 上执行此操作的方法,但我希望有一个也适用于 iOS 的跨平台解决方案。

我目前正在使用 NSPlayground在运行 iOS 11.4 的 iPhone 6S 上。



Best Answer-推荐答案


如果您没有找到可以轻松完成此操作的插件,您将不得不 access the native platform-specific APIs自己在每个平台上做。

在 Android 上,您可以执行以下操作:

import * as application from 'application';

...

const wifiService: any = application.android.context
    .getSystemService(android.content.Context.WIFI_SERVICE);

// See https://developer.android.com/reference/android/net/wifi/WifiManager#getConnectionInfo()
const wifiInfo: any = wifiService.getConnectionInfo();

// See https://developer.android.com/reference/android/net/wifi/WifiInfo.html#getIpAddress()
const ip: number = wifiInfo.getIpAddress();

注意 WifiInfo#getIpAddress 返回的 IP是 TypeScript 中的 number(Java 中的 int),这意味着您需要一种方法来将其转换为 CIDR notation :

function intToCDIRIP(ip) {
   return `${ (ip >> 24 ) & 0xFF }.${ (ip >> 16 ) & 0xFF }.${ (ip >> 8 ) & 0xFF }.${ ip & 0xFF }`;
}

console.log(intToCDIRIP(33353454354)); // Should be 196.5.83.18

关于ios - NativeScript - 获取设备本地 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52171755/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4