Proper way to make a fat binary prefer to be 32bit on 64bit OS X 10.6?

Deadly 提交于 2019-12-10 10:24:38

问题


Suppose I ask the user "do you want to run in 32bit mode or 64bit mode" and they pick 32bit. How do I register this fact with the operating system? I've looked at the arch command, but I don't want to have to write a script that wraps the binary. I suspect there is a plist-y way to do this, but I can't find documentation (other than arch).


回答1:


Try using this Info.plist key, LSArchitecturePriority:

<key>LSArchitecturePriority</key>
<array>
    <string>i386</string>
    <string>x86_64</string>
    <string>ppc</string>
    <string>ppc64</string>
</array>

Just don't do this by dynamically altering your program's bundle. The user running your program might not have permission to write to it. If you need to do this on a per-user basis, a wrapper script would be a preferred alternative.




回答2:


You're probably looking for something like LSArchitecturePriority. Runtime Configuration Guidelines - Property List Key Reference is the documentation for all the key / values for an .app bundles Info.plist file.




回答3:


The other way to do it is by setting the ARCHPREFERENCE environment variable, as described on the arch man page.



来源:https://stackoverflow.com/questions/1360336/proper-way-to-make-a-fat-binary-prefer-to-be-32bit-on-64bit-os-x-10-6

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!