如何删除growl框架中的ppc部分?

时间:2011-04-21 03:42:01

标签: cocoa app-store powerpc growl

现在我将咆哮通知支持添加到我的应用程序中,当我将其提交给带有组织者的mac app store时,它说 “ 不支持的体系结构 - 应用程序可执行文件可能支持两种或两种英特尔体系结构:

i386(32位) x86_64(64位) “ 最后我发现它的问题是由growl库,所以我需要在growl中删除ppc部分,所以,如何? 请帮忙..

2 个答案:

答案 0 :(得分:19)

使用lipo命令行实用程序,它删除了胖二进制文件的架构(适当的名称)。首先,检查您的Growl框架中有哪些体系结构:

$ 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

找到真正的Growl二进制文件(应该在某个地方的版本下)并用GrowlIntel替换它。

答案 1 :(得分:0)

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

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