How do I create an application and framework in OS X 10.6 that can run on 10.5?
Here's my situation: I have the source code for a third party framework that I want to include in my project. I am developing on 10.6 but want to support 10.5, so I have a basic SDK and the deployment target is set to 10.5.
I can create a framework and an application, and the application runs inside Xcode and on the machine. However, it doesn't work on 10.5.8 and crashes. The crash report says:
Unknown required load command 0x80000022
I also tried to create a framework on a 10.5.8 machine setting the architecture to "32/64-bit universal". Moving this framework to a 10.6 machine and trying to build the app works, but the app won't start, throwing a few errors:
-[NSCFArray matchAndAssemble:]: unrecognized selector sent to instance 0x3503c0
Has anyone seen this before? Do you know of a fix or workaround? This cannot be an unusual situation.
source to share
The loader command that is flagged is the loader command for a compressed binary, which is a binary type supported only on 10.6.
matchAndAssemble:
is not a (documented) NSArray / NSMutableArray method. It is, however, a PKParser set method. Is this the structure you are trying to build?
Anyway, something in your project is only building for 10.6 and it is probably that structure. Check your build settings for all your goals and any goals of any subprojects and do otool -l on any third party frameworks to find the boot command 22.
source to share
The answer to the first error is: Failed to read the unknown boot command 0x80000022 - Stack overflow and this may affect the second error. What version of Xcode and SDK are you using?
source to share