Now i add growl notification support into my app ,when i submitted it to mac app store with organizer,it says that " Unsupported Architecture - Application executables may support either or both of the Intel architectures:
i386 (32-bit) x86_64 (64-bit) " Finally i find that its issue by growl librar开发者_JS百科y, so i need to remove the ppc section in growl,so,how to? Please help..
Use the lipo
command line utility, which strips architectures off fat binaries (what an appropriate name). First, check which architectures there are in your Growl framework:
$ lipo -info path/to/Growl.framework/Growl
Architectures in the fat file: Growl are: x86_64 i386 ppc
In this case, we simply have ppc
, but there are about 10 variants (of which I've met 3). To avoid any surprise, you should run this command any time you want to strip architectures from a file instead of just jumping to the removal part. (If you're curious, man 3 arch
has the exhaustive list of possible architectures for fat binaries on Mac OS.)
Then, remove the ppc
achitecture:
$ lipo -remove ppc path/to/Growl.framework/Growl -output GrowlIntel
Find the real Growl binary (should be under Versions somewhere) and replace it with GrowlIntel.
You can also use "ditto". I submitted my last Mac app with frameworks included that are stripped off ppc support using the two below commands. No rejections from Apple.
$ ditto -rsrc --arch i386 --arch x86_64 Growl-WithInstaller Growl-WithInstaller_noppc
$ lipo -info Growl-WithInstaller_noppc
精彩评论