当我在应用商店发布我的应用时,为什么会出现代码签名错误?

时间:2011-08-07 17:44:38

标签: iphone ios xcode code-signing

昨天我试图发布我的应用,但是我收到了一个错误:

  

应用程序无法进行代码签名验证。签名无效,   或者它没有用Apple提交的证书签名。 (-19011)

这是我的日志:

  

警告:应用程序验证码验证失败。签名是   无效,或者未使用Apple提交的证书签名。   (-19011)
  可执行= /用户/ IamMo /库/开发商/ Xcode中/ DerivedData / Jungle_Jumper-frylvnqvacnaoifljuswxrhwloju /编译/产品/分销-的iPhoneOS /丛林   Jumper.app/Jungle Jumper codesign_wrapper-0.7.10:使用Apple CA for   个人资料评估非法授权密钥/值对:
  keychain-access-groups,{type =   mutable-small,count = 1,values =(0:{contents =“5ZT9U8689K.com.RainbowMouth.junglejump”}   )}非法授权键/值对:application-identifier,   5ZT9U8689K.com.RainbowMouth.junglejump AssertMacros:
  filter_entitlements(entitlements_whitelist,entitlements_requested,   allowable_entitlements),file:codesign_wrapper.c,line:932     - (null)

2 个答案:

答案 0 :(得分:0)

您的证书必须是专为App Store设计的部署证书(因此Ad-Hoc证书不起作用)。您必须执行以下步骤:

  1. 在配置门户中创建部署证书。这只能由开发帐户的团队代理完成。
  2. 将部署证书下载到您的计算机上(或使用Xcode 4获取证书)。确保它已安装并显示在Xcode 4管理器中。
  3. 转到Build Settings,然后将'release'版本的Code Signing选项更改为指向此证书。
  4. 如果您按照这些步骤操作,则不应出现代码签名错误(请务必在提交申请之前使用验证程序)。

答案 1 :(得分:0)

正如我在您的日志中看到的,将Entitlements-File添加到您的项目中。要执行此操作,请右键单击左侧边栏,然后单击“创建文件”。在出现的视图中,选择“代码签名”并选择“权利”。按保存。接下来,在配置的Build Settings下添加Entitlements-File的名称,包括后缀(.plist)。 (代码签名权利)

可能最重要的是打开Entitlements.plist并将唯一条目的bool值更改为“NO”。就是这样。

如果仍有任何问题,请检查您是否在Release-Configuration(或您创建的)下选择了Distribution配置文件。然后尝试存档您的应用程序和产品 - >存档。然后使用组织器提交它,它是比Application Loader更强大的方法。