Разрешено ли использование sysctlbyname в приложении macOS, предназначенном для Ma c App Store, получить текущую модель Ma c? - PullRequest
0 голосов
/ 01 мая 2020

Я использую этот код Objective- C в своих приложениях macOS:

#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
}

На данный момент ни одно из моих приложений не было отклонено по этой причине. Возможно ли, что этот код может привести к проблемам с отправкой в ​​будущем?

Большое спасибо за вашу помощь.

1 Ответ

1 голос
/ 04 мая 2020

На данный момент ни одно из моих приложений не было отклонено по этой причине. Возможно ли, что этот код может привести меня к проблемам с отправкой в ​​будущем?

Вы правы, что, насколько нам известно, sysctlbyname в настоящее время свободно используется приложениями MAS для получения информации - в магазине есть другие приложения, которые его используют.

Изменит ли Apple правила? Кто знает, возможно, даже не Apple.

Однако, если какое-то программное обеспечение начинает использовать информацию, полученную в гнусных целях, то следует ожидать, что использование этой функции будет ограничено. Хакеры, вплоть до рекламодателей, вплоть до политиков - вот причина того, почему у нас часто не бывает хороших вещей; - (

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...