Xcode 4.1 - 档案创建应用程序时出现Entitlements.plist错误

4
我正在使用Xcode 4.1和MacOSX Lion 10.7。我试图打包我的Mac应用程序,以便将我的应用程序上传到iTunes Connect,但是它给了我这个错误:
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 -格式xml -o /Users/username/Library/Developer/Xcode/DerivedData/appname/Build/Intermediates/appname.build/Debug/appname.build/appname.xcent
错误:读取属性列表'/Developer/Platforms/MacOSX.platform/Entitlements.plist'时出错-属性列表没有对象 Command builtin-productPackagingUtility failed with exit code 1
如果我不签署代码,则不会发生此错误。我之前能够正确提交我的应用程序,但升级到Xcode 4.1后发现找不到有关如何在xcode 4中签署应用的任何文档,并且我不知道新的“启用权利”和“沙盒”是什么。
当我设法让它工作时,我从iTunes Connect收到以下错误电子邮件: 无效的代码签名权利-您的应用程序包签名中的授权与包含在预配文件中的授权不匹配:
根据预配文件,包含不允许的键值“appname”的捆绑包在“appname.app/Contents/MacOS/appname”中的键“com.apple.application-identifier”中。
我需要做什么才能正确地将我的应用程序提交到iTunes Connect?
2个回答

2
原来,如果你使用2010年6月之后制造的新款Macbook,打包应用程序会出现问题。要打包您的应用程序,请按照以下步骤操作:
1)构建和存档
2)打开组织者-存档,找到新存档。
3)右键单击存档“在Finder中显示”
4)在finder中右键单击存档以“显示包内容”
5)深入到您的应用程序(>产品/应用程序/YourApp)
6)右键单击您的应用程序,“显示包内容”
7)删除_CodeSignature目录
8)编辑Info.plist
 a) Change BuildMachineOSBuild to "11A511"

 b) Save, close

9) 回到Finder中的“产品/应用程序/您的应用程序”目录

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) 提交...耶!


你也遇到了这个问题,非常感谢,点赞。你有没有找到导致这个代码签名错误的原因? - Vlad

0

这个方法对我也起作用了!

这是我的错误,iTunes Connect一直把它踢出去,而不是拒绝...几乎是立即踢出。 无论如何...这个方法对我有用!现在应用程序正在等待审核。就像他说的那样Yay!


无效的代码签名授权 - 您的应用程序包含不受 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"。 :)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接