在针对Mac App Store的macOS应用中,是否允许使用sysctlbyname来获取当前的Mac型号?

问题描述 投票:0回答:1

我在我的macOS应用程序中使用了这段Objective-C代码。

#include <stdlib.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/sysctl.h>

- (NSString *)machineModel {

size_t len = 0;
sysctlbyname("hw.model", NULL, &len, NULL, 0);

if (len)
{
    char *model = malloc(len*sizeof(char));
    sysctlbyname("hw.model", model, &len, NULL, 0);
    NSString *model_ns = [NSString stringWithUTF8String:model];
    free(model);
    return model_ns;
}

    return @"Just an Apple Computer"; //incase model name can't be read
}

目前,我的应用程序没有一个因为这个原因被拒绝。这段代码是否有可能在将来给我带来提交问题?

非常感谢您的帮助。

objective-c swift macos cocoa mac-app-store
1个回答
1
投票

目前,我的应用没有一个因为这个原因被拒绝。是否有可能这段代码会在将来给我带来提交问题?

你说的没错 sysctlbyname 据我们所知,目前,MAS应用程序可以自由使用,以获取信息 - 还有其他应用程序在商店使用它。

苹果会改变规则吗?谁也不知道,甚至苹果可能也不知道。

然而,如果一些软件开始使用收集的信息用于邪恶的目的,那么预计该功能的使用将受到限制。黑客,上至广告商,下至政客,都是我们经常不能拥有美好事物的原因;-(

© www.soinside.com 2019 - 2024. All rights reserved.