i have created a Mac OS application using XCode to Compile and Qt Frameword to develop
i am facing a major problem regarding the "open with" command on Mac OS
first of all , my application is supposed to support type files such as "djf" files
if i open my program and work on it for a while , the user has the option to save his work file as djf files
now if the user clicks back on the djf file , my application is supposed to open and load the djf file clicked by the user
the first problem that i am facing is that , the "open with" command on MAC OS is graying out my application so the user has to change the options on the top from "Recommended applications" to "all applications" so that the user will be able to click on my application and select it
the second problem that i have is that even though the user selects my application, my application opens a new instance of it self rather than loading the file being passed as an argument using the command line
i did few tests on my application and i found that my application never receives the file name as an argument in the main.cpp and that was the reason of why it doesnt load the file
i did few more tests using the command line of mac OS where a user can simply say:
open -a [application path/application.app] [argument "file name"]
i noticed that my application never receives [argument "file name"]
then i noticed that if you remove "open -a" from the command line and just keep [application path/application.app] [argument "file name"] while diving in to the application.app/Contents/MacOS/applicationName
this will certainly pass all the parameters needed and my application will load the saved work document to be edited once again
so i am pretty confused , why "open -a" is not passing the right arguments
please note: that open -a only passes two arguments to my application
1- the application path
2- a wierd argument which says "psn_0_xxxxxx"
but as soon as you type in the command line
application.app/Contents/MacOS/applicationName [filename]
this will pass the right arguments to my application
if some one can answer my question that would be great
thanks
i am facing a major problem regarding the "open with" command on Mac OS
first of all , my application is supposed to support type files such as "djf" files
if i open my program and work on it for a while , the user has the option to save his work file as djf files
now if the user clicks back on the djf file , my application is supposed to open and load the djf file clicked by the user
the first problem that i am facing is that , the "open with" command on MAC OS is graying out my application so the user has to change the options on the top from "Recommended applications" to "all applications" so that the user will be able to click on my application and select it
the second problem that i have is that even though the user selects my application, my application opens a new instance of it self rather than loading the file being passed as an argument using the command line
i did few tests on my application and i found that my application never receives the file name as an argument in the main.cpp and that was the reason of why it doesnt load the file
i did few more tests using the command line of mac OS where a user can simply say:
open -a [application path/application.app] [argument "file name"]
i noticed that my application never receives [argument "file name"]
then i noticed that if you remove "open -a" from the command line and just keep [application path/application.app] [argument "file name"] while diving in to the application.app/Contents/MacOS/applicationName
this will certainly pass all the parameters needed and my application will load the saved work document to be edited once again
so i am pretty confused , why "open -a" is not passing the right arguments
please note: that open -a only passes two arguments to my application
1- the application path
2- a wierd argument which says "psn_0_xxxxxx"
but as soon as you type in the command line
application.app/Contents/MacOS/applicationName [filename]
this will pass the right arguments to my application
if some one can answer my question that would be great
thanks