XCode 5在AppStore验证时崩溃 [英] XCode 5 Crashes on AppStore Validation
问题描述
我是iOS开发的新手,很可能错过了相关内容。
I'm new to iOS Development and may very well have missed something relevant.
我有一个在Xcode中开发的应用程序,并使用开发设备进行测试,以便我知道它正常工作。
I have an app developed in Xcode and tested with development devices so that I know that it's working properly.
我在iTunes Connect中创建了记录,并完成了启用状态'等待上传'的步骤
I have created the record in iTunes Connect and gone through the steps to enable status 'Waiting for Upload'
在构建设置中我设置了为应用创建的配置文件以及与该配置文件相关联的代码签名标识。
In Build Settings I set the provisioning profile I created for the app and the Code Signing Identity connected to that provisioning profile.
当我去组织者时 - >上传应用程序的档案似乎一切正常,我已经尝试了验证和分发,但我每次都得到相同的XCode错误。
When I go to Organizer -> Archives to Upload the app everything seems to be working, I've tried both Validate and Distribute but I get the same XCode error every time.
这是开始的我从XCode获得的错误消息,请告诉我是否需要更多信息。
Here's the beginning of the Error Message I get from XCode, let me know if there's needed more information.
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
推荐答案
我也是从组织者提交档案时遇到此错误并在XCode 5中崩溃,在Xcode 4.6中,我几周前没有遇到任何问题。看来真正的问题是XCode无法找到匹配的签名身份;以某种方式,先前创建的配置文件不兼容或无法识别。
I, too, got this error and crash in XCode 5 when submitting my archive from the organizer, while in Xcode 4.6, I had no issues just weeks before. It seems the real issue is that XCode is unable to find a matching signing identity; somehow the previously-created provisioning profile is not compatible or is not recognized.
像Manthan所提到的,创建新的配置文件可以解决此问题。以下是执行此操作的步骤:
Like mentioned by Manthan, creating a new provisioning profile resolves this problem. Here are the steps to do this:
- 登录 https://developer.apple.com/membercenter/index.action
- 在证书,标识符&个人资料,选择供应资料。
- 可选:选择旧资料,然后点击删除按钮。
- 点击右上角的添加按钮(+)。
- 选择 App Store 作为分发方式;点击继续。
- 选择您的应用ID;继续
- 选择您的证书。注意:确保选择具有私钥的证书(请参阅 Applications / Utilities / KeyChain Access ,keychain:login,category:my certificates。此证书必须在此处列出,并带有私钥在子列表中,否则您将需要获得新证书。)
- 输入名称,然后完成。
- 在XCode首选项中(Cmd + ,)选择帐户标签,然后点击查看详细信息...
- 点击刷新左下角的按钮。
- Log into https://developer.apple.com/membercenter/index.action
- In Certificates, Identifiers & Profiles, select Provisioning Profiles.
- Optional: select the old profile and then click the delete button.
- Click the Add button (+) in the upper-right corner.
- Select App Store as the distribution method; click Continue.
- Choose your App ID; Continue
- Choose your Certificate. NOTE: Make sure you select a certificate for which you have the private key (see Applications/Utilities/KeyChain Access, keychain: login, category: my certificates. Your certificate must be listed here with a private key in the sub list, otherwise you will need to obtain a new certificate.)
- Enter a name, and Done.
- In XCode Preferences (Cmd+,) select the Accounts tab, and then click View Details...
- Click the refresh button in the bottom left.
现在应该出现新的配置文件(如果你在步骤3中删除它,旧的配置文件将会消失) 。
Now the new profile should appear (and the old one will disappear if you deleted it in step 3).
最后,设置构建设置并执行另一个存档。
Finally, set the build settings and perform another archive.
- 在XCode Project Navigator中,选择项目目标,然后选择构建设置
- 在搜索过滤器中输入代码符号
- 设置配置文件 发布到新配置文件(在步骤10中加载)。
- 为发布<设置代码签名标识 / strong>来自第7步的证书(或自动应该没问题)
- 产品菜单 - >存档
- In XCode Project Navigator, select the project target and then Build Settings
- Enter "code sign" in the search filter
- Set the Provisioning Profile for Release to the new profile (as loaded in step 10).
- Set the Code Signing Identity for Release to the certificate from step 7 (or automatic should be okay)
- Product menu->Archive
此时,我能够验证并提交到app store。希望它也适合你。
At this point, I was able to validate and submit to app store. Hope it works for you too.
这篇关于XCode 5在AppStore验证时崩溃的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!