Cocoa App Won't Launch on 32-bit Intel? - cocoa

My Cocoa application, built in Xcode 3.2, runs perfectly on 64-bit machines but does not launch on a 32-bit Intel Mac. The Architecture is set to Standard(32/64-bit), Valid Architectures include "i386, ppc, ppc64, ppc7400, ppc970, x86_64" and Build Active Architecture Only is turned off.
Any suggestions as to why this might not launch? There is no error message, the app simply does not open.

Are you sure there's no error message? Did you check the console log using /Applications/Utilities/Console.app?
Are you the build settings are correct at the target level (ie, target-level settings don't override project-level settings with incorrect values)?

Related

Missing 64-bit support xcode 12.4

I get two errors when trying to validate the app. it works fine in simulators.
App Store Connect Operation Error
Missing 64-bit support. iOS apps submitted to the App Store must include 64-bit support and be built with the iOS 8 SDK or later. We recommend using the default "Standard Architectures" build setting for "Architectures" in Xcode, to build a single binary with both 32-bit and 64-bit support.
App Store Connect Operation Error
Invalid architecture: Apps that include an app extension and framework must support arm64.
same to me. but it hard to get solution from web.
all the common answer about the Valid Architecture arm64.
But xcode 12 already take out the Valid Architecture =(

Submitting App with Xcode 7: ERROR ITMS- 90533 Missing Architecture. Extension Bundle requires a UIRequiredDeviceCapabilities value of "arm64"

I'm frantically trying to submit my app for the iOS 9 launch but I'm confronting a weird problem.
When I try to submit my application binary through Xcode 7, I get the following error:
What scares me is googling ERROR ITMS-90533 returned no results.
The architecture Build Settings seems to check out as per this stackoverflow question. In both the Project target and Extension target:
Architectures is set to Standard Architectures (armv7, arm64) in both the Project target and Extension target
Build Active Architecture is set to NO for RELEASE
Valid Architectures is set to arm64, armv7, armv7s
I'm not really sure what to do at this point. I've tried playing around with the settings and nothing seems to be working. Any help would be really awesome.
I managed to upload a similar app (which contains a content blocker extension just as yours) with the following two changes.
First, both Architectures and Valid Architectures only contain arm64.
Second, Info.plist for both the extension and the main app contains the following, restricting this app/extension to 64 bit architectures:
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>arm64</string>
</array>
Content blocker extensions are supposed to be 64-bit only. Not sure if a mixed 32/64 bit app can also contain a 64-bit-only extension. To be on the safe side, and since the content blocking is anyway the main/only functionality of my app, I made both the app and extension 64bit only.
Update, March 2016. With Xcode 7.2.1, you no longer need to set architecture as one comment below notes. You only need to set required device capabilities and valid architectures. (You can see this being the default setting when you create a new Content Blocker extension with the standard Xcode templates.)

application doesn't work on macos server

I was try to run my working application on macos server, but application show error - can't open programm bcs it's doesn't support this type of mac computer.
Any suggest? probably i have to change something in target?
${MACOSX_DEPLOYMENT_TARGET}
MACOSX_DEPLOYMENT_TARGET = 10.6
System Software Overview:
System Version: Mac OS X Server 10.6.6 (10J567)
Server Configuration: Advanced
Kernel Version: Darwin 10.6.0
everything looks good.
ARCHS = $(ARCHS_STANDARD_32_64_BIT)
i don't understand, which exact difference have must be for those configurations
ONLY_ACTIVE_ARCH = YES was configured and using 32-bit configuration is working fine.
i was change it. to NO and everything start working.
But why server don't support 64bit target architecture?
SOLUTION 2
delete from valid architectures all and leave i386 and x86_64.
In this case application working well on server.
Along with version, you can see that if you compile your application to the wrong architecture. In "Build Settings" for you application make sure you have the correct architecture selected.

Cocoa Screensaver Framework error message

I'm trying to make a screen saver using the cocoa screensaver framework. The project builds fine and generates the .saver file, but when I try to run it in the preferences test window, it displays the error message:
"You cannot use the screen saver with this version of Mac OSX. Please contact the vendor to get a newer version of the screen saver"
I have the xcode settings to Release | x86_64, and I am running OSX 10.6.6 on a 2.4 GHz Intel Core i5 Macbook Pro. I've searched around online, and most of the solutions to this error message seem addressed to making sure the build is 64-bit, which the x86_64 setting should indeed take care of. I am trying to play a QT movie in the screensaver, if that makes any difference.
I am at a loss, any help would be appreciated. Thank you.
Make sure the Garbage Collector settings is set to at least "Supported". A lot of hosted frameworks will now require this setting - for instance Preference Panels need to be at least at "Supported" or it will cause System Preferences to restart its self (as with 32bit)

How do you enforce the minimum OS requirements in a Cocoa app?

My app needs to run on 10.4 or later. If I launch it on 10.3 it just fails to launch or crashes.
How do you tactfully enforce minimum system requirements? Can you customize the message it shows?
Add a key to your applications Info.plist, specifying LSMinimumSystemVersion as 10.4.X for whatever X you need as a minor version. For more, see Apple's documentation.
I have not used either of these techniques/advice, just passing along the information I have gathered.
You might try something like the SystemVersionCheck “shim” executable to provide a working OS version check for versions that do not honor LSMinimumSystemVersion (e.g. 10.3).
The pre-compiled executable is PPC-only. You might need to rebuild it to support PPC and Intel machines so that it works with 10.3, but also so that 10.6 users are not prompted to needlessly install Rosetta. I found a blog entry that has a hint on how to setup the PPC build to target 10.3 and the Intel build to target 10.4u (it was written about 10.5 and Xcode 3.0 though—do the latest versions of Xcode even include the 10.3 SDK?).
If you experience a crash after adding the LSMinimumSystemVersion key to your app's plist manually, then this is due to the Finder not recognizing the changed state of the app properly. Either restart the Finder (e.g. log out) or duplicate the app in the Finder. The copy will then behave correctly.

Resources