gpt4 book ai didi

ios - NativeScript - 获取设备本地 IP 地址

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:20:51 26 4
gpt4 key购买 nike

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

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

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

最佳答案

如果你找不到一个插件来轻松做到这一点,你将不得不 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 上执行类似的操作。这里有另一个问答,解释了如何使用 Swift 在 iOS 上执行此操作,您必须将其转换为 TypeScript/JavaScript 才能在两个平台上获取 IP:Swift - Get device's IP Address

实际上,您可以考虑创建一个插件来执行此操作并与社区共享 👍

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

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com