ios - 是否有一种(合法的)方法可以在 iOS 下捕获整个屏幕?

标签 ios wifi ipod-touch noise airplane-mode

我尝试了多种技术来从该应用程序内部捕获该应用程序的屏幕截图。这些技术似乎都无法捕获状态栏——它最终变成了黑色。

显然曾经有一种方法可以做到这一点,但该接口(interface)是内部接口(interface),Apple 不会让您使用它。

有什么想法吗?

注意:这是尝试解决 this problem ,我需要确定飞行模式是打开还是关闭(不,仅知道网络是否可达是不够的)。

但是,这个问题似乎更受普遍关注,并且与那个问题不同。

最佳答案

您的实际问题,确定网络接口(interface)是否处于事件状态,可以通过 BSD 网络功能解决。看啊。

#include <sys/socket.h>
#include <ifaddrs.h>
#include <net/if.h>

BOOL IsNICTurnedOn(const char *nicName) {
    BOOL result = NO;

    struct ifaddrs *addrs = NULL;
    if (0 == getifaddrs(&addrs)) {
        for (struct ifaddrs *addr = addrs; addr != NULL; addr = addr->ifa_next) {
            if (0 == strcmp(addr->ifa_name, nicName)) {
                result = (0 != (addr->ifa_flags & (IFF_UP | IFF_RUNNING)));
                break;
            }
        }
        freeifaddrs(addrs);
    }

    return result;
}

要使用此功能:

BOOL isWWANEnabled = IsNICTurnedOn("pdp_ip0");
BOOL isWiFiEnabled = IsNICTurnedOn("en0");

关于ios - 是否有一种(合法的)方法可以在 iOS 下捕获整个屏幕?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9997556/

相关文章:

ios - 如何使用动态大小的单元格在 UICollectionViewFlowLayout 子类上正确设置部分插入

wifi - 是否可以在 Android 10 设备上以编程方式启用 wifi?

ios - iPhone 和 iPod Touch 之间的区别

objective-c - iPhone模拟器中的程序速度

objective-c - 更改 UITableViewCell 中 UITableViewCellDeleteConfirmationControl(删除按钮)的颜色

ios - Swift 获取字符串中两个字符串之间的字符串

ios - 在 Swift 项目中使用以 Objective-c 编写的库类

java - 如何在 Android 5.0 及更高版本中以编程方式设置 wifi 代理主机名、端口和旁路

iOS 8.2 UIRequiresPersistentWiFi 不工作

iphone - Xcode:iPod Touch 模拟器?