【问题标题】:XCode 5 Crashes on AppStore ValidationXCode 5 在 AppStore 验证时崩溃
【发布时间】:2013-09-25 16:13:44
【问题描述】:

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

我有一个用 Xcode 开发的应用程序,并在开发设备上进行了测试,因此我知道它工作正常。

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

在构建设置中,我设置了为应用创建的配置文件以及连接到该配置文件的代码签名身份。

当我转到 Organizer -> Archives to Upload the app 时,一切似乎都在工作,我尝试了 Validate 和 Distribute,但每次都遇到相同的 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

【问题讨论】:

    标签: iphone ios objective-c xcode


    【解决方案1】:

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

    希望它适合你。

    【讨论】:

    • 我遇到了完全相同的问题,但我不确定如何解决。如何创建新的配置文件?当我尝试创建一个新站点时,在线站点一直挂在“加载”状态,我不确定如何在 xcode 中执行此操作。 @Manthan
    • 创建新的配置文件,以便从苹果的开发者端分发。下载该配置文件并添加到您的管理器窗口。它会正常工作的。
    • 这正是问题所在:当我尝试创建一个页面时,苹果开发人员端的页面一直挂在“加载”中。 @Manthan
    • 你用那个解决方案对我来说很到位
    【解决方案2】:

    当我从组织者提交我的存档时,我也遇到了这个错误并在 XCode 5 中崩溃,而在 Xcode 4.6 中,几周前我没有遇到任何问题。看来真正的问题是 XCode 无法找到匹配的签名身份;不知何故,以前创建的配置文件不兼容或无法识别。

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

    1. 登录https://developer.apple.com/membercenter/index.action
    2. Certificates, Identifiers & Profiles中,选择Provisioning Profiles
    3. 可选:选择旧配置文件,然后单击删除按钮。
    4. 点击右上角的添加按钮 (+)。
    5. 选择App Store作为分发方式;点击继续。
    6. 选择您的应用 ID;继续
    7. 选择您的证书。注意:确保选择您拥有私钥的证书(请参阅 Applications/Utilities/KeyChain Access,钥匙串:登录,类别:我的证书。您的证书必须在此处列出,并带有私钥在子列表中,否则您将需要获取新证书。)
    8. 输入名称,然后完成。
    9. 在 XCode Preferences (Cmd+,) 中选择 Accounts 选项卡,然后单击 View Details...
    10. 点击左下角的刷新按钮。

    现在应该会出现新的配置文件(如果您在第 3 步中删除旧配置文件,旧配置文件将会消失)。

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

    1. 在 XCode Project Navigator 中,选择项目目标,然后选择 Build Settings
    2. 在搜索过滤器中输入“代码符号”
    3. ReleaseProvisioning Profile 设置为新的配置文件(在步骤 10 中加载)。
    4. Release代码签名身份 设置为步骤 7 中的证书(或者自动应该可以)
    5. 产品菜单->存档

    此时,我能够验证并提交到应用商店。希望它也对你有用。

    【讨论】:

    • 我发现从 XCode 4 开始,您可以停止使用构建设置来设置配置文件。使用 Xcode > Accounts,然后当您在管理器中登录您的应用程序时,它们会从列表中挑选出来。请参阅上面的屏幕截图。
    • 这为我解决了问题。谢谢!
    • 谢谢。我认为 Apple 故意在每次 XCode 更新时打破这一步骤,以便他们获得更少的应用提交;)
    • 这基本上也对我有用(xcode 5.0)。我做了一些不同的事情:编辑项目设置以及项目设置中的目标。我将 Debug+Release 的 Code Signing Identities 保留为 Automatic(我相信它会从 Provisioning Profile 中选择身份,因此请保持简单)。
    • 这个问题在 XCode 6.3 中仍然存在。我遵循了 rodamn 建议的步骤,但没有运气。对我有用的是不使用 XCode 上传,而是使用 ApplicationLoader 应用程序。希望能帮助其他人对此感到困惑/沮丧。
    【解决方案3】:

    除了(希望)有用之外,我已经成功地在 XCode 刚刚度过糟糕日子的某些情况下直接使用了应用程序加载器。

    【讨论】:

    • 您不能在没有通过验证过程的情况下生成 .ipa。所以这无关紧要
    【解决方案4】:

    尝试在新的 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 中更新它

    我发现通过这个新帐户屏幕做任何与证书或 prov 个人资料相关的事情都更安全。 如果您在 developer.apple.com 上更改它。 不要下载它。 只需转到 XCode 帐户并点击刷新。 诸如 Organizer > Validate > Distribute 之类的东西会自行运行。


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

    在 XCode 5 之后不再需要这个了。

    这是我的构建设置的屏幕截图。

    如果您在 XCode > Accounts 中添加正确的 iTunes 开发者帐户。

    当您存档时 > 在那里验证您会获得分发 PP 列表以签署您的应用程序。 所以不需要在 Build Settings 中设置它们。

    【讨论】:

    • 我总是被设置为代理。我怎样才能成为管理员?
    • 代理可以像管理员一样提交到应用商店。
    • 嗨,如果其他分发文件过期,是否会影响原始文件?
    【解决方案5】:

    Manthan 建议的答案对我验证并将我的应用程序提交到 AppStore 有用。会员中心的一切似乎都已正确设置,但应用程序仍然失败,并显示“没有可用于签名的身份”的通知,即使我已经正确设置了证书的私钥和配置文件。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-30
      • 2013-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多