我是 iOS 开发的新手,很可能错过了一些相关的东西。
我有一个使用 Xcode 开发的应用程序并使用开发设备进行了测试,因此我知道它可以正常工作。
我已经在 iTunes Connect 中创建了记录并完成了启用“等待上传”状态的步骤
在build设置中,我设置了我为应用程序创建的配置文件以及连接到该配置文件的代码签名身份。
当我转到 Organizer -> Archives 以上传应用程序时,一切似乎都正常,我尝试了 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
最佳答案
当我从组织者那里提交我的文件时,我也遇到了这个错误并在 XCode 5 中崩溃,而在 Xcode 4.6 中,几周前我没有遇到任何问题。看来真正的问题是 XCode 无法找到匹配的签名身份;不知何故,先前创建的配置文件不兼容或无法识别。
正如 Manthan 所提到的,创建一个新的配置文件可以解决这个问题。以下是执行此操作的步骤:
- 登录https://developer.apple.com/membercenter/index.action
- 在证书、标识符和配置文件中,选择供应配置文件。
- 可选:选择旧配置文件,然后单击删除按钮。
- 点击右上角的添加按钮 (+)。
- 选择 App Store 作为分发方式;点击继续。
- 选择您的应用 ID;继续
- 选择您的证书。注意:确保您选择了一个您拥有私钥的证书(参见Applications/Utilities/KeyChain Access,钥匙串(keychain):登录,类别:我的证书。您的证书必须与私钥一起列在此处在子列表中,否则您将需要获得新证书。)
- 输入姓名,然后完成。
- 在 XCode 首选项 (Cmd+,) 中,选择 Accounts 选项卡,然后点击 View Details...
- 点击左下方的刷新按钮。
现在应该会出现新的配置文件(如果您在第 3 步中将其删除,旧的配置文件将会消失)。
最后,设置build设置并执行另一个归档。
- 在 XCode Project Navigator 中,选择项目目标,然后选择Build Settings
- 在搜索过滤器中输入“code sign”
- 将 Release 的Provisioning Profile 设置为新的配置文件(在第 10 步中加载)。
- 将 Release 的Code Signing Identity 设置为第 7 步中的证书(或者自动应该没问题)
- 产品菜单->存档
此时,我能够验证并提交到应用商店。希望它也对你有用。
关于iphone - XCode 5 在 AppStore 验证时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18913964/