Why does this Qt app have multiple entries in the application menu? - macos

What could be the reason my Qt application has multiple entries in the Mac application menu? (I'm building against Qt 4.8 on Mountain Lion)
I've read and re-read the Mac specific Qt issues, along with QMenubar on Mac OS X, but can't guess what the cause could be.
Any thoughts on what could be causing this?

The issue turned out to be an unneeded call to NSApplicationLoad. This application was recently converted from Carbon to Cocoa, and this call was leftover. Removing it fixed the problem.

Related

Does The OS X Leopard Aqua Theme Still Exist In Modern macOS Catalina?

If you get the free app "SmartCVS" for macOS, you'll notice that the entire application looks and feels like something you'd see on OS X Leopard. I've seen this behavior before with a "Charles Web Proxy" version I lost 2 years ago. But this SmartCVS App helped me finally find this "Classic Mode" behavior again. Can I do something like this if I use a very old version of Xcode and set some values in the info.plist?
How can this old OS X app do this?
Look at the GUI, this is exactly how everything looked when OS X Leopard was released.
This does not feel like an app with just some GUI customizations, this feels like there's some dormant "Aqua skeuomorphic mode" buried somewhere in the dependencies of macOS Catalina.
no. apple removed snow leopard's theme files completely in 10.10 yosemite. smartcvs is a java applet, and because of that, it can't directly access the macOS theme, so they just added it themselves and never bothered to update it for new versions of macOS
edit (3/4/21): i did some research (googling file names in the app) and i found that it uses a library called "quaqua" to replicate the theme. it's included in the app, named "quaqua.jar".

What is the lowest OSX version for submitting to the App Store?

I have looked, but I cannot get a version of Application Loader old enough to install on OSX10.5.6 . I would hate to have to buy a mac just to upload my app to the app store. I think I can install xcode 3.1 (downloading now), but I do not see anything about application loader being a part of 3.1? Any suggestions would be helpful
Right now you should already publish app that supports iOS 7...and you need at least XCode 5 for that (which means at least Mac OS X 10.8).
You really need a Mac with recent OS X. I think this policy is not really fair but it is the way it works.

How to develop applications with Xcode for multiple os version?

I developed a small application on my mac with osx 10.9. Now I want to share the application with some friends, but not everyone is using osx 10.9. One friend is using for example osx 10.6. How I can make my application compatible? Maybe some of you know some good tutorials for my problem?
Greets!
You can change the deployment target to the lowest OS X version you need to support.
In Xcode, click on your target in the left menu, General > Deployment Info > Deployment target.

How do I add Leopard and Snow Leopard support to a Lion Cocoa App?

I have developed a Cocoa App on Lion and now I would like to add compatibility with Leopard and Snow Leopard.
I tried to set the development target to 10.5 but it still has crash problems on Leopard and Snow Leopard.
I tried also to open the project with old versions of Xcode, but I get hundreds of compile errors (I guess it's because I can't compile the program with the old Mac OS SDK)
Do you have any advice about solving the retro-compatibility problems of Cocoa Apps?
I think it's generally not a very good idea to develop for the latest OS then try to support older OSes at the last minute. If you've used any APIs that were introduced in an OS later than the oldest you're trying to support, you'll have to rewrite code to avoid using those APIs. It's generally not worth the trouble.
That said, there's no secret to supporting older OSes. You just need to make sure that you only use APIs (classes, methods, functions) that are available on the oldest OS you're trying to support. You'll notice when looking at the documentation that for each method, under "Availability", it will tell you which versions of the OS include that method. Something like:
Availability
Available in Mac OS X v10.6 and later.
Assuming you don't use any APIs not available on an OS version you're targeting, all you need to do is set the deployment target to the lowest OS you're targeting, and build. You will of course also want to test thoroughly on each OS version you're supporting.
Your question would be easier to answer in more detail if you elaborated on the "crash problems" you're seeing on Leopard and Snow Leopard.
First, install the 10.5 SDK on your Mac. This may not be necessary, but do it anyway. You can find instructions on the Internet. Keep in mind that compiling with the 10.5 SDK will ensure compatibility, but you won't be able to use newer OS X features unless you load them dynamically.
Second, go into your .xib files and on the File Properties tab (first notch in the Inspector pane) disable auto layout and set the deployment target to 10.5.

Qt multi-touch events not working with magic trackpad in Mac OS X

I just recently started working with Qt 4.7.4 64-bit in order to make some cross-platform multi-touch applications. However, I can’t get Qt's touch events working in Mac OS X.
When I build and run my own application or any of the Qt touch demos, including fingerpaint and knobs, it doesn’t work. No touches I perform on the trackpad, be it a single or multiple touches, does anything in the application; no QTouchEvents are received. I’ve tried on both a Mac Pro with a magic trackpad and a Macbook Air with its build-in multi-touch trackpad, and in both Snow Leopard and Lion.
Qt's documentation doesn't make any mention of these demos, or QTouchEvents in general, not working in OS X, and implies that they do. And in my searches for a solution, I have seen videos of Qt's multi-touch working on Mac OS X, and found other people talking about using it, so there must be some way to get this to work.
Does anyone have any idea what’s going wrong? Thanks in advance!
Try link Cocoa framework to your application, it can fix some strange behaviour with events on MacOS X.
For posterity, I solved this by updating to Qt 4.8.0. After doing so multi-touch just started working.

Resources