8

我的应用程序用于测量 Wifi 信号强度。为此,我在 iOS7 中使用了私有 API

libHandle = dlopen("/System/Library/SystemConfiguration/IPConfiguration.bundle/IPConfiguration", RTLD_LAZY);

但现在看来,Apple 已将其移至 iOS8 中的其他位置。因为我找不到这些方法。

apple80211Open = dlsym(libHandle, "Apple80211Open");
apple80211Bind = dlsym(libHandle, "Apple80211BindToInterface");
apple80211Close = dlsym(libHandle, "Apple80211Close");
apple80211GetInfoCopy = dlsym(libHandle, "Apple80211GetInfoCopy");

任何人都知道它可能在哪里被移除/替换。

有没有其他方法可以测量 Wifi 强度。(价值类似于: - 47)

较早的 apple80211GetInfoCopy 用来返回

"AUTH_TYPE" =     {
    "AUTH_LOWER" = 1;
    "AUTH_UPPER" = 8;
};
BSSID = "74:XX:XX:60:1b:XX”;        // Value changed for security.
CHANNEL =     {
    CHANNEL = 149;
    "CHANNEL_FLAGS" = 20;
};
NOISE =     {
    "NOISE_CTL_AGR" = "-85";
    "NOISE_UNIT" = 0;
};
"OP_MODE" = 1;
POWER =     (
    1
);
POWERSAVE = 1;
RATE = 135;
RSSI =     {
    "RSSI_CTL_AGR" = "-47";
    "RSSI_UNIT" = "-1";
};
SSID = <6d506f72 74616c20 4343>;
"SSID_STR" = “Wifi XX;              //Value Changed for Security
STATE = 4;

RSSI_CTL_AGR 是我需要获取的。

PS:该应用程序不适用于 APPStore 。它用于临时分发。

4

0 回答 0