Mike Kluev wrote:
On 09/06/2006 11:56 Am, Eric Albert wrote:
On Jun 10, 2006, at 12:07 AM, Mike Kluev wrote:
On Thu, 8 Jun 2006 11:06:34, Ben Weiss <email@hidden> wrote:
Concerning detecting Rosetta:
This is not the recommended way; for a better way, see http://
developer.apple.com/documentation/MacOSX/Conceptual/universal_binary/
universal_binary_exec_a/chapter_7_section_7.html
The sample code is a little more elaborate than necessary because
it's designed around the idea of testing any PID to see if it's
running in Rosetta, not just your own PID. In listing A-4, change
sysctlbyname_with_pid to a plain sysctlbyname to simplify it. Or if
you don't mind either way, just copy all the code and pass a PID
of 0.
Shouldn't gestaltNativeCPUfamily or gestaltNativeCPUfamily selectors
be used to detect if application is running under Rosetta?
E.g. gestaltProcessorType gives 'PPC' and gestaltNativeCPUfamily
gives 'i86'. Just an idea, I didn't test that.
The only supported way to detect whether an application is running in
Rosetta is the one at the URL mentioned above. Other things which
may work today are not supported.
I believe gestalt selector would be better for carbonland.
rdar://4581510
Hmm, it seems a bit late to ask for changes. Unless there are
developers which plan on shipping PowerPC-only apps that require 10.5
and up (and need to detect that they are on Intel)? That seems like a
small market to me :)
I agree that Gestalt would have been cleaner, but I kind of think that
ship has already sailed...
|