2011-04-21 54 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