当我从通用设备切换到iPhone时,xcode出乎意料地退出了。我已经尝试打开其他项目(较旧的和更新(,并且遇到了相同的错误。在更新为8.3.2
之前,我根本没有这个错误堆栈跟踪:
Application Specific Information:
MainQueue: -[IDEProvisioningManager _performStateUpdateOnMainThreadForRepairable:updateBlock:]_block_invoke_2
ProductBuildVersion: 8E2002
ASSERTION FAILURE in /Library/Caches/com.apple.xbs/Sources/IDEFrameworks/IDEFrameworks-12175/IDEFoundation/Provisioning/Mechanic/UserActions/IDEProvisioningUserAction.m:125
Details: method -[IDEProvisioningUserAction userActionName] is a responsibility of subclasses of IDEProvisioningPermissionsFailureUserAction
Object: <IDEProvisioningPermissionsFailureUserAction: 0x7fed55a409d0>
Method: -userActionName
Thread: <NSThread: 0x7fed4f516d60>{number = 1, name = main}
Hints:
Backtrace:
0 -[IDEAssertionHandler handleFailureInMethod:object:fileName:lineNumber:assertionSignature:messageFormat:arguments:] (in IDEKit)
1 _DVTAssertionHandler (in DVTFoundation)
2 _DVTAssertionFailureHandler (in DVTFoundation)
3 -[IDEProvisioningUserAction userActionName] (in IDEFoundation)
4 -[IDEProvisioningRepairStateInfo setWaitingForUserAction:] (in IDEFoundation)
5 ___DVTAsyncPerformBlockOnMainRunLoop_block_invoke (in DVTFoundation)
6 __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ (in CoreFoundation)
7 __CFRunLoopDoBlocks (in CoreFoundation)
8 __CFRunLoopRun (in CoreFoundation)
9 CFRunLoopRunSpecific (in CoreFoundation)
10 RunCurrentEventLoopInMode (in HIToolbox)
11 ReceiveNextEventCommon (in HIToolbox)
12 _BlockUntilNextEventMatchingListInModeWithFilter (in HIToolbox)
13 _DPSNextEvent (in AppKit)
14 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] (in AppKit)
15 -[DVTApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (in DVTKit)
16 -[NSApplication run] (in AppKit)
17 NSApplicationMain (in AppKit)
18 start (in libdyld.dylib)
abort() called
Xcode由于在Apple证书中的许可不足而崩溃,无法将设备的UDID添加到证书本身(不简单地说(。如果您已使用Apple证书的管理员许可,则不会发生此错误,或者已将Apple设备的 UDID添加到Apple证书中。我仍然不知道为什么我的个人开发人员"团队"仍会导致Xcode崩溃,因为它与Apple证书无关。
解决此问题的两个解决方案:
- 只需授予自己(开发人员帐户(管理员的权限,请自动将您添加到证书中(
- 要求Apple证书的管理员简单地将Apple设备的UDID添加到证书
获取设备的UDID或标识符:在Xcode菜单栏中,单击窗口>设备,然后选择您的Apple设备,您应该看到"标识符:xxxxxxxxxxxxxxx"或udid