Есть ли что-то как WMI для Linux?

Шаги:

A) Соедините ваш UIButton с контроллером вида поповера, используя тип перехода Present As Popover. Я действительно должен был создать новый проект, чтобы это появилось, но, вероятно, это как-то связано с базовым SDK.

B) Привести в соответствие контроллер вида, содержащий UIButton, <UIPopoverPresentationControllerDelegate>. Например. В свой файл MyViewController.m добавьте:

@interface MyViewController () <UIPopoverPresentationControllerDelegate>

C) Добавьте метод ниже к View Controller, содержащему UIButton:

- (UIModalPresentationStyle)adaptivePresentationStyleForPresentationController:(UIPresentationController *)controller {

    return UIModalPresentationNone;
}

D) Добавьте следующее в ваш prepareForSegue:sender: заменяет ваш segue.identifier чек:

if ([segue.identifier isEqualToString:@"CatSelectSegue"]) {
    UIViewController *dvc = segue.destinationViewController;
    UIPopoverPresentationController *controller = dvc.popoverPresentationController;
    if (controller) {
        controller.delegate = self;
    }
}

Проверенный код и подтверждение его работоспособности:

Popover on iPhone without 3rd Party Controls

Редактировать: Мое тестовое приложение TPOPViewController. m файл, где происходит волшебство:

#import "TPOPViewController.h"

@interface TPOPViewController () <UIPopoverPresentationControllerDelegate>//, UIAdaptivePresentationControllerDelegate>

@end

@implementation TPOPViewController

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

    NSString *identifier = segue.identifier;
    if ([identifier isEqualToString:@"popover"]) {
        UIViewController *dvc = segue.destinationViewController;
        UIPopoverPresentationController *ppc = dvc.popoverPresentationController;
        if (ppc) {
            if ([sender isKindOfClass:[UIButton class]]) { // Assumes the popover is being triggered by a UIButton
                ppc.sourceView = (UIButton *)sender;
                ppc.sourceRect = [(UIButton *)sender bounds];
            }
            ppc.delegate = self;
        }
    }
}

- (UIModalPresentationStyle)adaptivePresentationStyleForPresentationController:(UIPresentationController *)controller {

    return UIModalPresentationNone;
}

@end

Моя тестовая раскадровка также:

Popover on iPhone test storyboard

15
задан Robert Siemer 8 September 2016 в 19:43
поделиться

3 ответа

Не совсем. Используете ли вы WMI для получения системных параметров или для запроса процессов, или для изменения конфигурации, или для отслеживания системных событий, или что-то в этом роде?

Ядро предоставляет много информации и настраиваемые регуляторы через / proc ] и / sys файловых систем. Никакого языка запросов, только организованная иерархия каталогов и файлов. Некоторые из этих файлов доступны только для чтения, чтения-записи или только для записи; некоторые из них поддерживают опрос .

Некоторые службы могут иметь настраиваемые клиенты для запроса и обновления конфигурации на лету - chrony chronyc приходит в Обратите внимание, но даже самый простой init имеет initctl . Новые сервисы, такие как HAL , могут подвергаться интроспекции и манипулированию посредством D-Bus .

11
ответ дан 1 December 2019 в 00:21
поделиться

Взгляните на интерфейсы / proc. Там вы можете получить много системной информации. Также существует множество отличных утилит для сбора системной информации. Пакеты sysstat - это всегда одна из первых вещей, которые я устанавливаю в наши дни.

Изменить: вы также всегда можете запросить SNMP. По умолчанию отображается много информации.

2
ответ дан 1 December 2019 в 00:21
поделиться

Инструментарий управления Windows (WMI) - это реализация Microsoft стандарта WBEM (веб-управление предприятием) от Целевой группы распределенного управления . Эти стандарты доступны и используются в нескольких разновидностях систем * nix. В качестве примера приведем проект SourceForge , который включает WBEM в системах Linux. Существует стандарт под названием CIM (общая информационная модель), который описывается DTMF следующим образом:

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

27
ответ дан 1 December 2019 в 00:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: