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/应用程序名称/构建/中间体/应用程序名称.build/调试/应用程序名称.build/应用程序名称.xcent cd "/Volumes/Apps/iOS/Mac 应用商店/应用程序名称" builtin-productPackagingUtility /Developer/Platforms/MacOSX.platform/Entitlements.plist -entitlements -format xml -o /Users/用户名/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”对应键“com” .apple.application-identifier” in appname.app/Contents/MacOS/appname
我需要做什么才能正确地将我的应用程序提交到 iTunes connect?
I am using Xcode 4.1 and MacOSX Lion 10.7. I am trying to archive my Mac app so I can upload my app to iTunes connect but it gives me this error:
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
error: error reading property list '/Developer/Platforms/MacOSX.platform/Entitlements.plist' - property list has no object
Command builtin-productPackagingUtility failed with exit code 1
This error does not occur if I don't sign the code. I was able to submit my apps properly before upgrading to Xcode 4.1. I can't seem to find any documentation on how to sign an app in xcode 4 and I have no idea what the new Enable entitlements and sandbox does.
When I somehow get it to work, I get this email from iTunes connect with the following error:
Invalid Code Signing Entitlements - The entitlements in your app bundle signature do not match the ones that are contained in the provisioning profile:
According to the provisioning profile, the bundle contains a key value that is not allowed: "appname" for the key "com.apple.application-identifier" in appname.app/Contents/MacOS/appname
What do I need to do to properly submit my app to iTunes connect?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
事实证明,如果您使用的是 2010 年 6 月之后制造的新 Macbook,则打包应用程序会出现问题。要打包您的应用程序,请按照以下步骤操作:
1) 构建和存档
2) 打开管理器 - 存档,找到新存档。
3) 右键单击存档“在 Finder 中显示”
4) 右键单击 Finder 中的存档以“显示包内容”
5) 深入查看您的应用程序 (>Products/Applications/YourApp)
6) 右键单击您的应用 程序app,“显示包内容”
7) 删除_CodeSignature目录
8) 编辑Info.plist
9) 返回到Finder中的Products/Applications/YourApp目录
10) 打开Keychain Access.app
11) 打开终端并输入以下内容:
12) 验证输出:
13) 关闭所有窗口。
14) 在 XCode 中打开管理器 - 档案
15) 验证...是的。
16) 提交...耶!
Turns out, there is an issue with packaging apps if you are using a new Macbook manufactured after June of 2010. To package your app, follow these steps:
1) Build and Archive
2) Open the Organizer - Archives, find the new archive.
3) Right-click the archive "Show in Finder"
4) Right-click the archive in the finder to "Show Package Contents"
5) drill down to your app (>Products/Applications/YourApp)
6) Right-click your app, "Show Package Contents"
7) Delete the _CodeSignature directory
8) Edit Info.plist
9) Go back to the Products/Applications/YourApp directory in the finder
10) Open Keychain Access.app
11) Open a terminal and enter the following:
12) verify the output:
13) Close all them windows.
14) Open the Organizer - Archives in XCode
15) Validate... yep.
16) Submit... yay!
这个方法其实对我也有效!
这是我的错误,iTunes Connect 一直将其踢出,而不是拒绝......只是几乎立即踢出。
所以无论如何......这个方法对我有用!现在应用程序正在审核中。正如他所说,耶!
无效的代码签名权利 - 您的应用程序包的签名包含 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”。:)
This method actually worked for me too!
This was my error, iTunes Connect kept kicking it out, not rejecting...just almost instant kick-out.
So anyway...this method worked for me! now app is sitting In Review. As he said Yay!
Invalid Code Signing Entitlements - Your application bundle's signature contains code signing entitlements that are not supported on Mac OS X;
this may happen if your Mac OS X project was ported from iOS.
Please check your Xcode project's code signing entitlements configuration, and remove any unneeded entitlements.
Specifically, key "keychain-access-groups" in [YourAppName] is not supported.
Invalid Code Signing Entitlements - Your application bundle's signature contains code signing entitlements that are not supported on Mac OS X;
this may happen if your Mac OS X project was ported from iOS.
Please check your Xcode project's code signing entitlements configuration, and remove any unneeded entitlements.
Specifically, key "application-identifier" in [YourAppName] is not supported.
Just want to add in there...that I also had a black MacBook, that was manufactured BEFORE 2010...I still went ahead and added the key "BuildMachineOSBuild to "11A511" like the instructions said. :)