Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 在Terminal中调用框架窗口似乎被阻止_Objective C_Macos_Frameworks_Dylib - Fatal编程技术网

Objective c 在Terminal中调用框架窗口似乎被阻止

Objective c 在Terminal中调用框架窗口似乎被阻止,objective-c,macos,frameworks,dylib,Objective C,Macos,Frameworks,Dylib,现在,我有了一个名为MyFramework.framework的框架,其中包括一个window.nib,我编写了一个示例在终端中调用它。 代码: 对话框可以出现,但似乎被阻止了,它没有焦点,我不能输入任何东西,我什么也做不了,怎么了?现在,我找到了解决方案 在OSX10.6中,我为Safari编写了一个npapi插件,在这个插件中我调用了一个框架,它显示了一个模式窗口来获取密码。关闭此模式窗口后,Safari似乎会阻塞 在我的框架中,我通过runModalForWindow函数来显示这个模式窗口

现在,我有了一个名为MyFramework.framework的框架,其中包括一个window.nib,我编写了一个示例在终端中调用它。 代码:


对话框可以出现,但似乎被阻止了,它没有焦点,我不能输入任何东西,我什么也做不了,怎么了?

现在,我找到了解决方案

在OSX10.6中,我为Safari编写了一个npapi插件,在这个插件中我调用了一个框架,它显示了一个模式窗口来获取密码。关闭此模式窗口后,Safari似乎会阻塞

在我的框架中,我通过runModalForWindow函数来显示这个模式窗口,当我切换到runModalSession时,一切都能正常工作。我不知道为什么,但它确实对我有用

//<MyFramework/myUI.h>

#ifndef Frmwork_myUI_h
#define Frmwork_myUI_h

#ifdef __cplusplus
extern "C"{

#endif

void ShowDialog();

#ifdef __cplusplus

}
#endif

#endif

//test.mm

#include <MyFramework/myUI.h>

#include <Foundation/NSRunLoop.h>

int main(int argc, char *argv[])

{

    ShowDialog() ;
    while (!isTransmitCompleted)
    {
       [[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]];
    }
    return 0;

}
//build test.mm

g++ -c test.mm -o test.o

g++ test.o -o test -lpthread -framework Cocoa -framework AppKit -framework CoreData -framework Foundation -framework MyFramework

//run

$./test