2014-12-30 4 views
0

이제 "window.nib"을 포함하는 "MyFramework.framework"라는 프레임 워크가 있으며 터미널에 호출하는 예제를 작성합니다. 코드 : 대화 상자가 나타날 수 있습니다프레임 워크를 termimal에서 호출하는 것 같습니다.

//<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 

하지만이 차단 될 것 같다, 초점이 없을, 내가 입력하지 아무것도, 나는 아무것도 할 수 있습니다, 무슨 일입니까?

답변

0

이제 해결책을 얻었습니다.

OS X 10.6에서 Safari 용 npapi 플러그인을 작성했습니다.이 플러그인에서 암호를 얻기 위해 모달 창을 표시하는 프레임 워크를 호출합니다. 이 모달 창을 닫으면 Safari가 차단되는 것 같습니다.

내 프레임 워크에서 runModalForWindow 함수로이 모달 창을 표시합니다. runModalSession으로 변경하면 모든 것이 완벽하게 작동합니다. 나는 이유를 모르지만 그것은 정말로 나를 위해 일한다.