I am building a macOS application and would like to check if the application is running in the background or not. Was referring documentation for the same and found few links under 'Archives'. Below is the document I could get:
https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/DesigningDaemons.html
Is there some latest documentation available on this subject ? Any pointers would be helpful.
Thanks in advance.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
I am writing an application which is capable of running as a regular application – with a GUI, AND as a ‘daemon’ – servicing other GUI based applets.
The user is expected to decide in which mode they want to run the application.
The questions are:
Can this be done? On Windows, I am able to do this by allowing user to ‘install as a service’ and I can programmatically check if the application HAS been started as a service or not – and take the appropriate code path. What is the equivalent in MacOS?
On startup, how do I check if the application is being launched in regular mode, or launched as a daemon
What are the system interactions which I need to specifically hook into if it is launched as a daemon.
There is an 'open' command in mac with some options as:
-g Do not bring the application to the foreground.
-j Launches the app hidden.
While it claims to launch the application hidden and/or in the background – it always seems to behave the same way.
Is there some ‘input’ the application is supposed to receive and behave suitably (that is, not show a UI if it is opened in such a mode)?
How do I access this intent of the user?
Thanks !
I am intending to show an alert message in macOS through a C++ based application. I am using CFUserNotificationDisplayAlert for the same. Below is the piece of code that I have used to display the alert window which I have written in the .mm file:
CFOptionFlags cfRes;
CFUserNotificationDisplayAlert(0, kCFUserNotificationCautionAlertLevel,
NULL, NULL, NULL,
CFSTR("Message Header"),
CFSTR("Message Body"),
CFSTR("Ok"),
NULL,
NULL,
&cfRes);
The above works fine on Catalina but does not show the alert window in BigSur.
Is there anything I am missing ?
I am intending to show an alert message in macOS through a C++ based application. I am using CFUserNotificationDisplayAlert for the same. Below is the piece of code that I have used to display the alert window which I have written in the .mm file:
CFOptionFlags cfRes;
CFUserNotificationDisplayAlert(0, kCFUserNotificationCautionAlertLevel,
NULL, NULL, NULL,
CFSTR("Message Header"),
CFSTR("Message Body"),
CFSTR("Ok"),
NULL,
NULL,
&cfRes);
The above works fine on Catalina but does not show the alert window in BigSur. Is there anything I am missing ?
Hi,
Can we create a dependent/independent WatchOS application and a tvOS application using Objective C ? If yes, can some sample be shared please.
When I go to create these applications from XCode, in the language dropdown, only Swift is available as an option.
Thanks !
Hi,
We are creating a macOS application that is built as a 'Bundle' and NOT as a Unix-style application. In a specific flow, we need to attach this process to a terminal session by creating one. Now, on this attached terminal, stdin/stdout etc would happen.
We are using Objective C.
Any pointers on how to go about this would be helpful.
Hi,
I have a shared Mac system running on BigSur 11.4 - which I access from office and home. I have a single user id, and do not want the two sessions to interfere with each other. Can I have 2 independent sessions on this Mac machine for the same user ? Basically, I am seeking guidance on ‘what kind of options/settings/helper applications' will allow me to do this.
Thanks in advance.
Hi, I am trying to use the open command from the Terminal window to open my application.
I have tried the following :
open --hide MyApp.app
open --background MyApp.app
The documentation says : --help launch the app hidden and --background does not bring the application to the foreground.
I would like to understand the difference between the two ?
What I have observed is, in both cases the application launches and my GUI Window is not in the foreground.
Am I missing something ?
I have an application that is built as an app bundle. I open a new terminal window, and launch the application through ./.
When I do this, the application UI is launched and some application logs are printed on the terminal. If I want to detach my application process from the terminal, how can the same be achieved such that I can close the terminal and my application keeps running.
Basically, how do we ‘detach’ from the parent console
once we have detected that we WERE started from the parent console ?
Hi,
I would like to be able to tell at any time which mission control workspace the user is currently using programmatically on macOS or programmatically check the number of desktops/workspaces are currently created on a macOS screen. I could not find any working answer during my search. Any workspace identifier works for me (uuid, workspace number...). Is there a programmatic way of doing this in Objective C ?
Thank you for the help!
Hi,
We are developing a Business Management application for Accounting/Inventory/Invoicing etc. which is capable of being integrated with a reasonably wide variety of 3rd Party document formats – like spreadsheets, and PDF, and ALSO capable of being customized by the end-user to support additional formats. While the ‘out-of-the-box’ integrations(extensions) can be listed in the info.plist for people to opt to open a particular document type
using our application, if they wish to – what do we need to do to allow them to associate their own customized integrations.
For defining the same in plist file, we do this for already defined extensions :
<dict>
<key>CFBundleTypeName</key>
<string>TWDB</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>LSHandlerRank</key>
<string>Owner</string>
<key>LSItemContentTypes</key>
<array>
<string>com.tw.twdb</string>
</array>
</dict>
I am currently on macOS Monterey 12.2 and have started an iPhone 12 iOS 15.0 simulator.
On this simulator, if I drop files from desktop or a folder inside desktop, I get an error saying, 'The file could not be opened because you don't have the permission to view it'. However, if this files is moved to some folder inside ~/Builds/SampleFiles/*, the drag and drop copies the files to the simulator. Is something specific needed to be done to provide such an access to the simulator ?
I can see that Simulator has 'Full Disk Access' under 'Security and Privacy'.
We are building an application that would be cross-platform and hence using CMake as the build system. While am able to build for iOS, macOS, tvOS etc, have not been able to build for watchOS using CMake. Right now, am looking for an independent watchOS app. Can someone help with any pointers or reference link for the same ?
I am building my application for macOS using CMake. My application can either be MACOSX_BUNDLE i.e. generated as a .app through CMake or it can even be a Unix-style executable. Is there a programmatic way in Obj-C to check if the executable is Unix-Style or NSBundle?