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

我正在使用
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的这封电子邮件连接时出现以下错误:
无效的代码签名权利 – 应用包签名中的权利与配置文件中包含的权利不匹配:

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

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

最佳答案 事实证明,如果您使用的是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)返回finder中的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)提交……耶!

点赞