C++ 在命令行OSX应用程序中创建警报/消息框

C++ 在命令行OSX应用程序中创建警报/消息框,c++,objective-c,macos,alert,C++,Objective C,Macos,Alert,我正在尝试创建一个简单的应用程序,只打开一个警报。想象一下 int main(int argc, const char * argv[]) { int result = SomeMagicAlertFunction("Hello World", "Yes", "No"); printf("User picked: %d¥n", result); } 我已经找到了一些关于NSAlert的信息,但所有的例子都是针对完整的OSX应用程序的,这种应用程序包如中所示 +-MyApp.ap

我正在尝试创建一个简单的应用程序,只打开一个警报。想象一下

int main(int argc, const char * argv[]) {
    int result = SomeMagicAlertFunction("Hello World", "Yes", "No");
    printf("User picked: %d¥n", result);
}
我已经找到了一些关于NSAlert的信息,但所有的例子都是针对完整的OSX应用程序的,这种应用程序包如中所示

+-MyApp.app
  |
  +-Contents
    |
    +-MacOS
      |
      +-MyApp

等等,但我只想在命令行应用程序中发出警报。一个文件,而不是一个应用程序包。在C/C++或Objective C的OSX中,这可能吗?我看到了一些关于NSRunAlertPanel的信息,但在约塞米蒂已经删除了这些信息,并说要使用NSAlert

几分钟后找到了答案

#import <Cocoa/Cocoa.h>

void SomeMagicAlertFunction(void) {
    NSAlert *alert = [[NSAlert alloc] init];
    [alert addButtonWithTitle:@"OK"];
    [alert addButtonWithTitle:@"Cancel"];
    [alert setMessageText:@"Delete the record?"];
    [alert setInformativeText:@"Deleted records cannot be restored."];
    [alert setAlertStyle:NSWarningAlertStyle];

    if ([alert runModal] == NSAlertFirstButtonReturn) {
    }
    //[alert release];
}

几分钟后找到了答案

#import <Cocoa/Cocoa.h>

void SomeMagicAlertFunction(void) {
    NSAlert *alert = [[NSAlert alloc] init];
    [alert addButtonWithTitle:@"OK"];
    [alert addButtonWithTitle:@"Cancel"];
    [alert setMessageText:@"Delete the record?"];
    [alert setInformativeText:@"Deleted records cannot be restored."];
    [alert setAlertStyle:NSWarningAlertStyle];

    if ([alert runModal] == NSAlertFirstButtonReturn) {
    }
    //[alert release];
}

FWIW,如果只想显示消息而不阻止程序完成,可以使用CFUserNotificationDisplayNotice.FWIW,如果只想显示消息而不阻止程序完成,可以使用CFUserNotificationDisplayNotice。