iPhone代码签名 - 为什么开发人员会抱怨缺乏分发证书?

时间:2012-07-11 01:35:19

标签: iphone code-signing

这是我得到的错误。这使我无法在iPad设备上测试我的应用的开发者版本。 “未能满足指定的代码要求”这一行引起了我的注意,但我不知道这意味着什么。

Validate /Users/william/Library/Developer/Xcode/DerivedData/GraphingCalculatorDeluxe-fduucejdaajqvxekndurxjggarcu/Build/Products/Debug-iphoneos/GraphingCalculatorDeluxe.app
cd /Users/william/Documents/GraphingCalculatorDeluxe
setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
setenv PRODUCT_TYPE com.apple.product-type.application
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/Validation /Users/william/Library/Developer/Xcode/DerivedData/GraphingCalculatorDeluxe-fduucejdaajqvxekndurxjggarcu/Build/Products/Debug-iphoneos/GraphingCalculatorDeluxe.app

warning: Application failed codesign verification.  The signature was invalid, contains disallowed entitlements, or it was not signed with an iPhone Distribution Certificate. (-19011)
Executable=/Users/william/Library/Developer/Xcode/DerivedData/GraphingCalculatorDeluxe-fduucejdaajqvxekndurxjggarcu/Build/Products/Debug-iphoneos/GraphingCalculatorDeluxe.app/GraphingCalculatorDeluxe
codesign_wrapper-0.7.10: using Apple CA for profile evaluation
/Users/william/Library/Developer/Xcode/DerivedData/GraphingCalculatorDeluxe-fduucejdaajqvxekndurxjggarcu/Build/Products/Debug-iphoneos/GraphingCalculatorDeluxe.app: valid on disk
/Users/william/Library/Developer/Xcode/DerivedData/GraphingCalculatorDeluxe-fduucejdaajqvxekndurxjggarcu/Build/Products/Debug-iphoneos/GraphingCalculatorDeluxe.app: satisfies its Designated Requirement
test-requirement: code failed to satisfy specified code requirement(s)
codesign_wrapper-0.7.10: failed to execute codesign(1)
 - (null)

我正在进行调试构建,签名为我的开发者身份。以下是终端中的代码签名输出:

Williams-iMac:Debug-iphoneos william$ codesign -dvvv GraphingCalculatorDeluxe.app
Executable=/Users/william/Library/Developer/Xcode/DerivedData/GraphingCalculatorDeluxe-fduucejdaajqvxekndurxjggarcu/Build/Products/Debug-iphoneos/GraphingCalculatorDeluxe.app/GraphingCalculatorDeluxe
Identifier=com.jockusch.calculator
Format=bundle with Mach-O thin (armv7)
CodeDirectory v=20100 size=10772 flags=0x0(none) hashes=530+5 location=embedded
Hash type=sha1 size=20
CDHash=96b088a0cd93ff9b5adc9552bbc29e4cef247356
Signature size=4338
Authority=iPhone Developer: William Jockusch (B86JCKGV32)
Authority=Apple Worldwide Developer Relations Certification Authority
Authority=Apple Root CA
Signed Time=Jul 10, 2012 8:08:35 PM
Info.plist entries=30
Sealed Resources rules=3 files=564
Internal requirements count=1 size=292
Williams-iMac:Debug-iphoneos william$ 
编辑:我告诉Xcode使用我的开发人员资料。请参见下面的屏幕截图。

enter image description here

2 个答案:

答案 0 :(得分:0)

检查您是否正确设置了代码签名的名称(您的项目目标 - >构建设置 - >代码签名):

答案 1 :(得分:0)

问题显然与Xcode混淆两个不同的开发者帐户有关。

我为自己和与其他人一起开发团队。我最近为团队提交了一个应用程序。因此,登录到iTunes Connect以分发应用程序的Xcode部分已设置为该帐户。

当我编译这个应用程序时,即使所有设置看起来都指向我自己帐户的内容,团队信息的某些部分显然会混淆它的某些方面。

我相信这是因为我做了以下事后问题就消失了:

  1. 转到主办方。
  2. 导航至该应用的存档。
  3. 点击“发布”按钮。
  4. 以我自己的身份登录iTunes Connect
  5. 然后我收到一条消息,说没有找到合适的申请记录。

  6. 再次构建,问题再次发生。

  7. 相当Xcode并删除我的构建文件夹。

  8. 重启Xcode
  9. 重复步骤1-5。
  10. 再次构建。它奏效了!