2011-04-21 96 views
10

现在我添加咆哮通知支持到我的应用程序,当我提交给了Mac App Store的与组织者,它说, “ 不支持的架构 - 应用程序的可执行文件可以支持英特尔架构的一个或两个:如何删除咆哮框架中的ppc部分?

I386( 32位) x86_64(64位) “ 最后,我发现它的问题由咆哮库,所以我需要删除咆哮ppc节,所以,如何? 请帮助..

+1

1.2.2将成为包含PowerPC支持的框架的最后一个版本。我们将在1.3下降。 http://code.google.com/p/growl/issues/detail?id=191 – 2011-04-21 07:42:56

+0

长期以来 – NeXT5tep 2011-04-22 01:11:49

回答

19

使用lipo命令行实用程序,该实用程序将脱离胖二进制文件(什么是合适的名称)的体系结构剥离。首先,检查其架构有你的低吼框架:

$ lipo -info path/to/Growl.framework/Growl 
Architectures in the fat file: Growl are: x86_64 i386 ppc 

在这种情况下,我们根本ppc,但有大约10变种(其中我见过3)。为了避免任何意外,你应该在你想从文件中去掉体系结构而不是跳到去除部分的任何时候运行这个命令。 (如果你很好奇,man 3 arch有Mac OS上的脂肪二进制可能的体系结构的详尽列表)

然后,取出ppc achitecture:

$ lipo -remove ppc path/to/Growl.framework/Growl -output GrowlIntel 

找到真正的低吼二进制(应该是下版本在某处)并将其替换为GrowlIntel。

0

您也可以使用“同上”。我提交了我的上一个Mac应用程序,其中包含使用以下两个命令剥离ppc支持的框架。 Apple没有拒绝。

$ ditto -rsrc --arch i386 --arch x86_64 Growl-WithInstaller Growl-WithInstaller_noppc 
$ lipo -info Growl-WithInstaller_noppc