因为被 Apple 拒绝了,所以我就去掉了 Sparkle,想想可以通过 apple store 去更新版本。
Unsupported Architecture: ppc (in xxx.app/Contents/Frameworks/Sparkle.framework/Versions/A/Resources/relaunch, xxx.app/Contents/Frameworks/Sparkle.framework/Versions/A/Sparkle)
App sandbox not enabled: xxx.app/Contents/Frameworks/Sparkle.framework/Versions/A/Resources/relaunch
就算没有这些错误是不是 Apple 也会把你的软件给拒绝掉,因为这样可能会绕过 Apple,然后给用户带来损害。
你回想一下一开始是怎么把 Sparkle.framework 加进来的。再假设当前项目中并没有用到它,然后加一个 target,往这个 target 里加上 Sparkle,使用 SUUpdater 等的地方都加上一个该 target 专用的宏来判断。原来的那个 target 不变。
如果要把这个过程自动化,可以参考一下这篇文章:Conditionally Building Mac App Store Applications to Exclude Sparkle。
#20 楼 @hlxwell http://stackoverflow.com/questions/5739262/how-do-i-remove-the-ppc-section-in-growl-framework
$ lipo -info path/to/Growl.framework/Growl Architectures in the fat file: Growl are: x86_64 i386 ppc
Then, remove the ppc achitecture:
$ lipo -remove ppc path/to/Growl.framework/Growl -output GrowlIntel