Xcode 4.1 - 存档应用程序给我Entitlments.plist错误

时间:2011-08-18 10:49:02

标签: xcode4 archive code-signing osx-lion

我正在使用Xcode 4.1和MacOSX Lion 10.7。我正在尝试存档我的Mac应用程序,以便我可以将我的应用程序上传到iTunes连接,但它给了我这个错误:

ProcessProductPackaging /Developer/Platforms/MacOSX.platform/Entitlements.plist /Users/username/Library/Developer/Xcode/DerivedData/appname/Build/Intermediates/appname.build/Debug/appname.build/appname.xcent     cd“/ Volumes / Apps / iOS / Mac app store / appname”     builtin-productPackagingUtility /Developer/Platforms/MacOSX.platform/Entitlements.plist -entitlements -format xml -o /Users/username/Library/Developer/Xcode/DerivedData/appname/Build/Intermediates/appname.build/Debug/appname.build /appname.xcent

错误:错误读取属性列表'/Developer/Platforms/MacOSX.platform/Entitlements.plist' - 属性列表没有对象 命令builtin-productPackagingUtility失败,退出代码为1

如果我不签署代码,则不会发生此错误。在升级到Xcode 4.1之前,我能够正确提交我的应用程序。我似乎无法找到有关如何在xcode 4中签署应用程序的任何文档,我不知道新的启用权利和沙箱的功能。

当我以某种方式让它工作时,我从iTunes收到此电子邮件连接时出现以下错误: 无效的代码签名权利 - 应用包签名中的权利与配置文件中包含的权利不匹配:

根据配置文件,捆绑包含一个不允许的密钥值:appname.app/Contents/MacOS/appname中的密钥“com.apple.application-identifier”的“appname”

如何正确地将我的应用程序提交到iTunes连接,我需要做什么?

2 个答案:

答案 0 :(得分:2)

事实证明,如果您使用2010年6月之后制造的新Macbook,打包应用程序会出现问题。要打包您的应用,请按以下步骤操作:

1)构建和存档

2)打开管理器 - 存档,找到新存档。

3)右键单击存档“在Finder中显示”

4)右键单击查找程序中的存档为“显示包内容”

5)向下钻取到您的应用(> Products / Applications / YourApp)

6)右键单击您的应用“显示包内容”

7)删除_CodeSignature目录

8)编辑Info.plist

 a) Change BuildMachineOSBuild to "11A511"

 b) Save, close

9)返回查找程序中的Products / Applications / YourApp目录

10)打开Keychain Access.app

 a) Find your certificate "3rd Party Mac Developer Application: Your Name"

 b) double click to inspect it

 c) Copy the full Common Name "3rd Party Mac Developer Application: Your Name"

11)打开终端并输入以下内容:

 codesign -s "<paste your cert common name here>" -fv <drag the archived app from the finder to the terminal window here>

12)验证输出:

 "...path to app...: replacing invalid existing signature"

 "...path to app...: signed bundle with Mach-O universal (i386 x86_64)"

13)关闭所有窗户。

14)打开管理器 - XCode中的档案

15)验证......是的。

16)提交......耶!

答案 1 :(得分:0)

这种方法对我来说也很有效!

这是我的错误,iTunes Connect不断推出它,而不是拒绝...几乎是即时启动。 所以无论如何......这种方法对我有用!现在app正坐在评论中。正如他说的那样!


无效的代码签名权利 - 您的应用程序包的签名包含Mac OS X不支持的代码签名权利; 如果您的Mac OS X项目是从iOS移植的,则可能会发生这种情况。 请检查您的Xcode项目的代码签名权利配置,并删除所有不需要的权利。

具体而言,不支持[YourAppName]中的密钥“keychain-access-groups”。 无效的代码签名权利 - 您的应用程序包的签名包含Mac OS X不支持的代码签名权利; 如果您的Mac OS X项目是从iOS移植的,则可能会发生这种情况。 请检查您的Xcode项目的代码签名权利配置,并删除所有不需要的权利。 具体而言,不支持[YourAppName]中的密钥“application-identifier”。


只想加入那里...我还有一台黑色的MacBook,它是在2010年之前制造的......我仍然继续将关键的“BuildMachineOSBuild”添加到“11A511”,就像说明说的那样。:)< / p>