XCode 5在AppStore验证时崩溃

时间:2013-09-20 10:00:29

标签: iphone ios objective-c xcode

我是iOS开发的新手,很可能错过了相关内容。

我有一个在Xcode中开发的应用程序,并使用开发设备进行测试,以便我知道它正常运行。

我在iTunes Connect中创建了记录,并完成了启用“等待上传”状态的步骤

在构建设置中,我设置了为应用创建的配置文件以及与该配置文件相关联的代码签名标识。

当我去主办单位时 - >档案上传应用程序似乎一切正常,我已经尝试了验证和分发,但我每次都得到相同的XCode错误。

这是我从XCode获得的错误消息的开头,请告诉我是否需要更多信息。

Process:         Xcode [1920]
Path:            /Applications/Xcode.app/Contents/MacOS/Xcode
Identifier:      com.apple.dt.Xcode
Version:         5.0 (3332.25)
Build Info:      IDEApplication-3332025000000000~2
App Item ID:     497799835
App External ID: 38302662
Code Type:       X86-64 (Native)
Parent Process:  launchd [129]
User ID:         501

Date/Time:       2013-09-20 11:37:11.767 +0200
OS Version:      Mac OS X 10.8.5 (12F37)
Report Version:  10

Interval Since Last Report:          8761 sec
Crashes Since Last Report:           8
Per-App Interval Since Last Report:  5941 sec
Per-App Crashes Since Last Report:   8
Anonymous UUID:                      B3570A30-11F9-5E70-9890-7B380C40FAE3

Crashed Thread:  0  Dispatch queue: com.apple.main-thread

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: EXC_I386_GPFLT

Application Specific Information:
objc_msgSend() selector name: respondsToSelector:
ProductBuildVersion: 5A1413

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libobjc.A.dylib                 0x00007fff91d39510 objc_msgSend_vtable5 + 16
1   com.apple.AppKit                0x00007fff8c52c3b2 +[NSTextInputContext currentInputContext] + 128
2   com.apple.AppKit                0x00007fff8c52bb81 -[NSApplication updateWindows] + 94
3   com.apple.AppKit                0x00007fff8c776d9f __38-[NSApplication setWindowsNeedUpdate:]_block_invoke_02349 + 76
4   com.apple.CoreFoundation        0x00007fff92a2f417 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
5   com.apple.CoreFoundation        0x00007fff92a2f381 __CFRunLoopDoObservers + 369
6   com.apple.CoreFoundation        0x00007fff92a0a7b8 __CFRunLoopRun + 728
7   com.apple.CoreFoundation        0x00007fff92a0a0e2 CFRunLoopRunSpecific + 290
8   com.apple.HIToolbox             0x00007fff9120ceb4 RunCurrentEventLoopInMode + 209
9   com.apple.HIToolbox             0x00007fff9120cb94 ReceiveNextEventCommon + 166
10  com.apple.HIToolbox             0x00007fff9120cae3 BlockUntilNextEventMatchingListInMode + 62
11  com.apple.AppKit                0x00007fff8c52a533 _DPSNextEvent + 685
12  com.apple.AppKit                0x00007fff8c529df2 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 128
13  com.apple.AppKit                0x00007fff8c5211a3 -[NSApplication run] + 517
14  com.apple.AppKit                0x00007fff8c4c5bd6 NSApplicationMain + 869
15  libdyld.dylib                   0x00007fff8edcb7e1 start + 1

5 个答案:

答案 0 :(得分:63)

我也是在从组织者提交档案时在XCode 5中遇到此错误并崩溃,而在Xcode 4.6中,我几周前没有遇到任何问题。似乎真正的问题是XCode无法找到匹配的签名身份;以某种方式,以前创建的配置文件不兼容或无法识别。

如Manthan所述,创建新的配置文件可以解决此问题。以下是执行此操作的步骤:

  1. 登录https://developer.apple.com/membercenter/index.action
  2. 证书,标识符&个人资料,选择供应资料
  3. 可选:选择旧配置文件,然后单击删除按钮。
  4. 点击右上角的添加按钮(+)。
  5. 选择 App Store 作为分发方式;点击继续。
  6. 选择您的应用ID;继续
  7. 选择您的证书。注意:确保选择具有私钥的证书(请参阅应用程序/实用程序/密钥访问,密钥链:登录,类别:我的证书。此证书必须在此处列出,并带有私钥在子列表中,否则您将需要获得新证书。)
  8. 输入名称,然后完成。
  9. 在XCode偏好设置(Cmd +,)中,选择帐户标签,然后点击查看详细信息...
  10. 点击左下角的刷新按钮。
  11. 现在应该出现新的配置文件(如果您在步骤3中删除了它,旧的配置文件将会消失。)

    最后,设置构建设置并执行另一个存档。

    1. 在XCode Project Navigator中,选择项目目标,然后选择构建设置
    2. 在搜索过滤器中输入“代码符号”
    3. 发布配置文件设置为新配置文件(在步骤10中加载)。
    4. 发布代码签名标识设置为步骤7中的证书(或自动应该没问题)
    5. 产品菜单 - >存档
    6. 此时,我能够验证并提交到应用商店。希望它也适合你。

答案 1 :(得分:10)

尝试在新的XCode 5帐户

中刷新Certs / Provisioning Profiles
XCode > menu > Preferences > Accounts
Click on your Developer Account from list on the Left
View Details button on right
Pop down screen appears
Hit tiny refresh button on bottom left.


If it says NO SIGNING CERT FOUND then 

1. if this is your first deploy to App Store then you need a cert.
2. If youve done it before did you choose the right account from the list.
Should have ADMIN status

Top表在第二列中应该有VALID

在底部表中按到期排序。

向上和向下滚动,因为排序不会移到桌子的顶部或底部。

确保您的分发证书尚未过期。

如果需要,您需要在developer.apple.com中续订

我发现通过这个新帐户屏幕可以更安全地执行任何证明或提供相关资料的内容。 如果您在developer.apple.com上更改它。 不要下载它。 只需转到XCode帐户并点击刷新即可。 像Organizer这样的东西>验证>然后分配行为。

XCode account showing all certs as VALID and Expiration date in the future

enter image description here


有人提到在Build Settings中设置Prov配置文件。

在XCode 5之后不要再认为这是必需的。

这是我的Build设置的屏幕截图。

如果您在XCode中添加正确的iTunes Developer帐户>帐户。

归档>验证它在那里你得到一个分发PP列表来签署你的应用程序。 因此,不需要在Build Settings中设置它们。

enter image description here

enter image description here

答案 2 :(得分:5)

您需要创建新的配置文件以进行分发以进行修复。

希望它适合你。

答案 3 :(得分:2)

Manthan建议的答案为我验证了&将我的应用程序提交到AppStore。所有内容似乎都在会员中心正确设置但是应用程序仍然失败,通知“没有可用于签名的身份”,即使很难,我也拥有了我的证书的私钥和配置文件设置正确。

No identities are available for signing

我最终撤销了我的证书(发行版和开发人员),清理了我的配置文件但仍然遇到了同样的错误。我刚刚创建了一个完全相同的分发配置文件,手动删除了“Library / MobileDevice / Provisioning Profiles”中的旧配置文件以确保我可以构建,验证和提交就好了!!

答案 4 :(得分:0)

作为(希望)有用的一部分,我已经成功地在XCode糟糕的一天中使用了Application Loader。