2012-02-11 69 views
14

我在Lion 10.7.2上运行Xcode 4.2,并且我有一些需要更新到Lion沙箱的应用程序,因此我可以重新提交它们到Mac App Store(Mac,不是iOS)。一路上我有一个弹出来更新组合更新10.7.3,之后,一切都出错了。Lion 10.7.3:Apple目前不接受使用此版本操作系统构建的应用程序

如果存档是在10.7.2中编译的,验证并提交应用程序就没有问题,但如果它是在10.7.3更新后编译的,则不能再验证应用程序。这是正确的,在10.7.3以下,我仍然可以验证应用程序,如果它们是在升级之前编译的。之后编译的任何东西都会给我这个:

“这个包是无效的,Apple目前不接受使用这个版本的OS构建的应用程序。”

每个以下的尝试后,我已清理,重建档案,并再次试图验证或提交通过的Xcode组织者和应用程序的应用程序加载器独立:

  • 我曾尝试升级到Xcode 4.2.1通过做一个完整的卸载, 重新启动并安装,但没有。

  • 我读this similar thread并使用新的应用程序 装载机2.5.1尝试,并确保没有其他应用程序加载器上 系统,但没有任何工作。通过Xcode的应用程序 装载程序和运行独立程序都会给出相同的 错误。

  • another thread已尝试将基本SDK更改为10.7。我 以前在10.6,所以我仍然可以支持雪豹,并且是 您可以提交针对10.6构建的沙盒应用程序,这两个沙盒应用程序最近都与两个 应用程序一起在沙盒和非沙盒平台because I've done it中运行。不幸的是,使用10.6或10.7 SDK构建 与此错误没有区别。

我读过,当开发者尝试提交建立在一个测试平台应用程序相同的错误发生,但我一直没运行的任何测试版本,也没有我过去,因为我买的这款MacBook在八月。

任何想法将不胜感激。提前致谢。

+0

同样的问题。刚更新到10.7.3,我无法提交任何内容。 – arooo 2012-02-11 23:25:39

回答

3

编辑2012年3月12日: 我直接使用付费支持票与Apple联系。事实证明,这是Mac App Store中的一个错误。他们的团队解决了这个问题。提交11D50b现在应该可以工作。

解决这一问题上的OS X 10.7.3和Xcode 4.3

您将需要更改SystemVersion文件,这可以用命令 须藤纳米/系统/图书馆/ CoreServices/SystemVersion来完成。 plist中(CTRL O,保存)

我现在的文件是这样的:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs$ 
<plist version="1.0"> 
<dict> 
    <key>ProductBuildVersion</key> 
    <string>11D50b</string> 
    <key>ProductCopyright</key> 
    <string>1983-2012 Apple Inc.</string> 
    <key>ProductName</key> 
    <string>Mac OS X</string> 
    <key>ProductUserVisibleVersion</key> 
    <string>10.7.3</string> 
    <key>ProductVersion</key> 
    <string>10.7.3</string> 
</dict> 
</plist> 

变化11D50b到11D50,重新启动Xcode和清洁你的代码。然后再提交。 提交后,请记住将文件更改回原始。 plist文件的

+1

感谢您为Apple付出时间和金钱,为此问题提供合法修复。我希望他们退还给你,因为这是他们最终的问题。基本上报告每个人都遇到的错误不应该花费50美元。 – staeryatz 2012-03-31 17:15:43

7

好吧,我的工作方式完全不安全......所以我不能说这是解决这个问题的好方法。

不管怎么说:

我接过一看SystemVersion.plist,和原来为10.7.3我们的建设是11D50b(B是当然的测试版)。当然,10.7.3没有被公布为测试版......如果是这样的话我不会升级。

基本上我改变了SystemVersion。在plist中/系统/图书馆/ CoreServices到:

Build Number: 11C74 
ProductUserVisibleVersion: 10.7.2 
ProductVersion: 10.7.2 

您可以更改权限后,用文本编辑做到这一点,或者如果你熟悉纳米技术,简单地说:

sudo nano /System/Library/CoreServices/SystemVersion.plist 

与往常一样,多余的当与sudo做任何事情时要小心。

从那里,我重新启动Xcode(确保你这样做,我试过不重新启动Xcode,它不会工作),清理,存档,然后能够成功提交。

立即在此之后,我关闭的Xcode,并确保改回一切究竟是怎么回事之前:

Build Number: 11D50b 
ProductUserVisibleVersion: 10.7.3 
ProductVersion: 10.7.3 

我是绝对不会尝试重新启动或什么有趣的样子,不知道会发生什么事情。但这对我有效。

+0

这很脏,但我很高兴它为你解决。既然你已经指出10.7.3是一个测试版,我真的很担心在下一个稳定版本的操作系统中可能会有所不同的系统库的编译。您可能欺骗了应用程序加载器,但可能存在一些兼容性问题的风险。虽然,如果没有API更改,它应该没问题,也许......我不熟悉Mac OSX上共享对象的版本依赖关系。 – staeryatz 2012-02-12 09:36:05

+1

我累了,它的作品,谢谢! 11D50b不是第二个安静版本。删除b不起作用。它必须如上所述! – Tibidabo 2012-02-16 02:47:25

0

像incarna,我没有解决方案,但我有一个解决方法,让我提交到商店。这可能更安全,因为没有欺骗行为。但是,如果您构建的是10.6,但这仍然是有用的,但仍然可以使用implement the 10.7 sandbox and keep Snow Leopard compatibility

如果您有另一台带Snow Leopard的Mac,或者碰巧有双启动SL,您可以安装SL的Xcode 4.2。用SL进行双启动很棘手,因为SL安装光盘无法识别Lion机器上的分区方案。我必须使用另一台Mac的Firewire,并以目标模式将其安装到MacBook。这是我以前在第一次使用MacBook时完成的操作。谷歌它,如果你想知道如何。

无论如何,我将项目复制到SL分区并在Xcode 4.2中打开它。你会注意到的一件事是GUI不包括权利或沙箱复选框选项,但你仍然可以在项目中看到授权和容器迁移plist文件(假设你在之前的Lion下的Xcode中设置它)。我猜即使没有10.7,SL下的Xcode 4.2编译器仍然知道如何处理这些文件。

我重新编译了SL中Xcode 4.2下的项目并验证了存档。都好。然后我将该应用程序作为.pkg文件共享并保存到我的Lion分区。我安装了.pkg并在Lion中运行我的应用程序。沙盒容器确实迁移并且应用程序按预期运行。验证它的工作后,我重新启动到SL并提交了应用程序。

你有它。证明沙盒应用程序可以在SL中编译和提交,SL仍然是一个有效且合法的平台。

0

只是一个快速更新,在Xcode 4.3重新启动Xcode后将无法正常工作,因为它检测到只能运行在10.7.3上但是按照说明更改plist文件,然后清理,存档和分发似乎就可以工作。我目前正在等待我的应用获得批准。

3

好吧,我有同样的问题,我也已经安装了Xcode 4.3,因为我预计这将解决这个问题。 Xcode 4.3需要10.7.3,因此不可能将SystemVersion.plist更改为10.7.2,而只是删除11D50b末尾的b,然后重新启动Xcode让我提交我的应用程序。

+0

完全为我工作 – 2012-02-18 14:18:33

+0

这为我工作,以及与10.7.3和Xcode 4.3。一个注意,它是“11D50b”而不是“10D50b”。 – Stateful 2012-02-19 16:49:52

+0

没有为我工作与10.7.3和Xcode 4.2.1。 – cocoafan 2012-02-20 05:20:37

相关问题