How do i remove the ppc section in growl framework?
Asked Answered
U

2

10

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 library, so i need to remove the ppc section in growl,so,how to? Please help..

Unrealizable answered 21/4, 2011 at 3:42 Comment(1)
1.2.2 will be the last version of the framework to include PowerPC support for this reason. We'll drop it in 1.3. code.google.com/p/growl/issues/detail?id=191Dashtikavir
I
19

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.

Inventive answered 21/4, 2011 at 4:1 Comment(0)
L
0

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
Liturgical answered 1/8, 2011 at 7:33 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.